学生课程双向多对多:

 Subject.java

//关系集合
@ManyToMany(targetEntity=Student.class)
@JoinTable(name="STUDENT_SUBJECT",
joinColumns=@JoinColumn(name="SUBJECT_ID",referencedColumnName="ID"),
inverseJoinColumns=@JoinColumn(name="STUDENT_ID",referencedColumnName="ID"))
privateSet students;


 Student.java

//关系集合
@ManyToMany(targetEntity=Subject.class)
@JoinTable(name="STUDENT_SUBJECT",
joinColumns=@JoinColumn(name="STUDENT_ID",referencedColumnName="ID"),
inverseJoinColumns=@JoinColumn(name="SUBJECT_ID",referencedColumnName="ID"))
privateSet subjects;  


用户角色双向多对多:

IDMUser.java


@ManyToMany(targetEntity = IDMBizRole.class)

@JoinTable(name = "IDMUSERBIZROLE",

   joinColumns = @JoinColumn(name = "USERID", referencedColumnName = "USERID"),

   inverseJoinColumns = @JoinColumn(name = "BIZROLEID", referencedColumnName = "ROLEID"))

private Set<IDMBizRole> idmroles = new HashSet<IDMBizRole>();


IDMBizRole.java

@ManyToMany(targetEntity=IDMUser.class)

@JoinTable(name="IDMUSERBIZROLE",

       joinColumns=@JoinColumn(name="BIZROLEID",referencedColumnName="ROLEID"),

       inverseJoinColumns=@JoinColumn(name="USERID",referencedColumnName="USERID"))

private Set<IDMUser> users = new HashSet<IDMUser>();