首页 新闻 会员 周边 捐助

如何用注解的方式在实体类中实现一对一,和一对多多对多

0
悬赏园豆:10 [待解决问题]

如何用注解的方式在实体类中实现一对一,和一对多多对多

深夜的清风的主页 深夜的清风 | 初学一级 | 园豆:170
提问于:2012-09-24 13:12
< >
分享
所有回答(1)
0

一对一
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "THEMEID")
@Cascade({CascadeType.ALL})
private BasTsTheme basTsTheme;

一对多
@OneToMany( fetch = FetchType.LAZY, mappedBy = "basTsGrade")
@Cascade({CascadeType.DELETE_ORPHAN,CascadeType.SAVE_UPDATE})
private Set<BasTsUser> basTsUsers = new HashSet<BasTsUser>(0);


多对一
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "GRADEID")
@Cascade({CascadeType.SAVE_UPDATE})
private BasTsGrade basTsGrade;


多对多
@ManyToMany( fetch = FetchType.LAZY, mappedBy = "basTsRoles")
@Cascade({CascadeType.DELETE_ORPHAN,CascadeType.SAVE_UPDATE})
private Set<BasTsUser> basTsUsers = new HashSet<BasTsUser>(0);

@ManyToMany( fetch = FetchType.LAZY)
@JoinTable(name = "BAS_TR_ROLEUSER", schema = "DESK", joinColumns = { @JoinColumn(name = "USERID", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "ROLEID", nullable = false, updatable = false) })
@Cascade({ CascadeType.DELETE_ORPHAN, CascadeType.SAVE_UPDATE })
private Set<BasTsRole> basTsRoles;

简单解释下,在一对一关系中,每个用户只有一个主题,通过themeid关联
一对多和多对一结合起来看,grade即会员等级,一个会员只能有一个等级,一个等级有多个会员。
多对多是典型的用户和角色关系,不解释

angelshelter | 园豆:9914 (大侠五级) | 2012-10-27 14:21
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册