::Relationship::
person(many) -> address(one)
ex) person A and person B live in address AA
::DB Schema::
person (personId)
addres (addressId)
personAddress (personId, addressId)
::Java Operation::
person.getAddress();
::Annotation::
@Entity @Table(name = "PERSON") public class Person { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "personId") private int id; @ManyToOne(optional=true) @JoinTable(name="PersonAddress", joinColumns = { @JoinColumn(name="personId", unique = true) }, inverseJoinColumns = { @JoinColumn(name="addressId") } ) private Address address; }
@Entity @Table(name = "ADDRESS") public class Address { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "addressId") private int id; }
::Generated SQL::
- person.getAddress();
select person0_.personId as personId2_1_,
person0_1_.addressId as addressId3_1_,
address1_.addressId as addressId4_0_
from PERSON person0_ left outer join PersonAddress person0_1_ on person0_.personId=person0_1_.personId
left outer join ADDRESS address1_ on person0_1_.addressId=address1_.addressId
where person0_.personId=?
[Association Mapping List]
2 comments:
When I attempt this, I get a null pointer exception on schema generation...
And if I want to implement address.getPerson() ? How I can do it?
Post a Comment