JPA - @OneToMany
.
JPA - - , OO.
, :
@Entity
public class Member {
@Id
@GeneratedValue
private Long id;
@OneToMany(mappedBy="member")
private Set<NextOfKin> kindred;
}
@Entity
public class NextOfKin {
@Id
@GeneratedValue
private Long id;
@ManyToOne
private Member member;
}
- JPA, , JPA.
, , - "--/--" JPA. SQL NextOfKin Member. . . JPA - , ( ) . JPA, " ", - - NextOfKin
. mappedBy
@OneToMany
. :
, , NextOfKins. .
Member newMember = new Member();
NextOfKin nok = new NextOfKin();
createNewMember(newMember);
memory relationship from its point of view
nok.setMember(newMember);
createNewNok(nok);
- NextOfKin FK, Member. , Java .
, , .
Member fromDB = entityManager.find(Member.class, newMember.getId());
assertTrue("Member should have exactly one next of kin now",
fromDB.getKindred().size() == 1);
//and also from the other side
NextOfKin nokFromDB = entityManager.find(NextOfKin.class, nok.getId());
assertTrue("next of kin should have a member",
nokFromDB.getMember().getId() == newMember.getId())
, , Cascade
, , , :
@OneToMany(cascade=CascadeType.ALL, mappedBy="member")
Member newMember = new Member();
NextOfKin nok = new NextOfKin();
nok.setMember(newMember);
createNewMember(newMember);
- - NextOfkin Member. Member.
JPA/ , SO, . JPA OneToMany/ManyToOne, " " ?
JPA ORM - , .
, , , JPA, - , , , / .
, .
:
, . , JPA , Java DB, jOOQ mybatis.