기술과 산업/언어 및 프레임워크

[JPA 2.0] MayToMany 설정하기

B컷개발자 2015. 1. 25. 15:38
728x90

USER - ROLE의 관계 설정을 가정


User 클래스

@Id

@Column(name = "USER_ID")

private String userId;

@ManyToMany(fetch = FetchType.EAGER)

@JoinTable(name = "AUTHORITIES", joinColumns = { @JoinColumn(name = "USER_ID", referencedColumnName = "USER_ID") }, inverseJoinColumns = { @JoinColumn(name = "ROLE_ID", referencedColumnName = "ROLE_ID") })

private Set<Role> roles;


Role 클래스

@Id

@Column(name = "ROLE_ID")

private String roleId; 

@ManyToMany(mappedBy = "roles", fetch = FetchType.EAGER)

private Set<User> users;


Authority 클래스

@Id

@Column(name = "USER_ID")

private String userId;

@Id

@Column(name = "ROLE_ID")

private String roleId;


참고 사이트

http://en.wikibooks.org/wiki/Java_Persistence/ManyToMan

http://www.objectdb.com/api/java/jpa/ManyToMany

728x90