@Embeddable
public class ComposeIdPK implements Serializable {
private Long roleId;
private Long authId;
@Column(name = "roleId")
public Long getRoleId() {
return roleId;
}
public void setRoleId(Long roleId) {
this.roleId = roleId;
}
@Column(name = "authId")
public Long getAuthId() {
return authId;
}
public void setAuthId(Long authId) {
this.authId = authId;
}
}
@Entity
@Table(name = "roleauth")
public class RoleAuth implements Serializable {
private ComposeIdPK composeIdPK;
@Id
public ComposeIdPK getComposeIdPK() {
return composeIdPK;
}
public void setComposeIdPK(ComposeIdPK composeIdPK) {
this.composeIdPK = composeIdPK;
}
}
=============操作========
增加
ComposeIdPK composeIdPK=new ComposeIdPK ();
composeIdPK.setAuthId(authId);
composeIdPK.setRoleId(roleId());
RoleAuth roleAuth=new RoleAuth();
roleAuth.setComposeIdPK(composeIdPK);
roleAuthManager.save(roleAuth);
查询
Session session = getSession();
List<RoleAuth> roleAuthList = session.createCriteria(RoleAuth.class).add(Restrictions.eq("composeIdPK.roleId", roleId)).list();
本文介绍了一种使用复合主键的Java实体类设计方法,通过@Embeddable注解定义了复合主键类ComposeIdPK,并展示了如何在实体类RoleAuth中使用@Embeddable来引用该复合主键。此外,还提供了增加和查询数据的具体示例。
1787

被折叠的 条评论
为什么被折叠?



