首页 > 代码库 > hibernate 多对多注解配置及实体属性条件查询
hibernate 多对多注解配置及实体属性条件查询
以下是通过hibernate注解的方式写的多对多关系用户和角色实体,即一个用户有多个角色,一个角色下也有多个用户。
普通属性作为条件查询相信那么简单大家都会了,如下是一个关系实体作为查询条件的小例子。
用户和角色的多对多配置如下:
@Entity public class UserInfo { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Integer id; private String no; private String name; private int age; private Date createDate; @ManyToMany(fetch=FetchType.EAGER) private Set<RoleInfo> roles; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public Set<RoleInfo> getRoles() { return roles; } public void setRoles(Set<RoleInfo> roles) { this.roles = roles; } public String getNo() { return no; } public void setNo(String no) { this.no = no; } public Date getCreateDate() { return createDate; } public void setCreateDate(Date createDate) { this.createDate = createDate; } }
角色实体如下:
@Entity public class RoleInfo { @Id @GeneratedValue(strategy=GenerationType.AUTO) private Integer id; private String name; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "RoleInfo [id=" + id + ", name=" + name + "]"; } }
现在要查询角色名叫“管理员的”用户
查询代码如下:
@Test public void testQueryRelation(){ Session session=sessionFactory.getCurrentSession(); Criteria criteria =session.createCriteria(UserInfo.class); //关联关系查询 criteria.createCriteria("roles").add(Restrictions.like("name", "管理员")); System.out.println(criteria.list()); System.out.println(criteria.list().size()); }
本文出自 “Coder随手记-技术分享” 博客,请务必保留此出处http://viphyy.blog.51cto.com/6403455/1600199
hibernate 多对多注解配置及实体属性条件查询
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。