java - Can I map a relationship inJPA with a unique target that is not the id? -


i'd able use dot notation 1 entity another.

let's have table users:

id  username   acronym -----------------------  1  john       nasa 

and table institutions:

id  instname       acronym ---------------------------  9  natl. air...   nasa 

for historical reasons, users table not contain reference institution id, acronym unique.

is there possibility dot way entity john name of nasa in john.getinstitution().instname()? i'd avoid having run query through entity manager.

have tried it?

as far can see then, depending on jpa provider, following mappings may or not supported.

@entity public class institution{      @onetomany(mappedby = "institution")     private set<user> users; }  @entity public class user {      @manytoone     @joincolumn(name = "acronym", referencedcolumname = "acronym")     private institution institution;  } 

failing this, other possibility create database view based on following , map user entity this.

select      u.id, u.username, i.id institution_id      users u inner join      institutions on u.acronym = i.acronym 

entity 'proper' fk mapping:

@entity @table(name = "vw_users") public class user {      @manytoone     @joincolumn(name = "institution_id")     private institution institution;  } 

Comments

Popular posts from this blog

sql - VB.NET Operand type clash: date is incompatible with int error -

SVG stroke-linecap doesn't work for circles in Firefox? -

python - TypeError: Scalar value for argument 'color' is not numeric in openCV -