hibernate 多对多注解配置及实体属性条件查询
2015-01-07 15:04
495 查看
以下是通过hibernate注解的方式写的多对多关系用户和角色实体,即一个用户有多个角色,一个角色下也有多个用户。
普通属性作为条件查询相信那么简单大家都会了,如下是一个关系实体作为查询条件的小例子。
用户和角色的多对多配置如下:
角色实体如下:
查询代码如下:
本文出自 “Coder随手记-技术分享” 博客,请务必保留此出处http://viphyy.blog.51cto.com/6403455/1600199
普通属性作为条件查询相信那么简单大家都会了,如下是一个关系实体作为查询条件的小例子。
用户和角色的多对多配置如下:
@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 一对一注解配置及实体属性条件查询
- 实体多对多注解定义,hibernate多对多条件语句查询
- Hibernate @OneToMany等注解设置查询过滤条件等
- hibernate条件查询注入自定义Bean无需配置文件,取需要的字段
- Hibernate的findByExample莫名加入了值为空的的属性做查询条件
- Hibernate @OneToMany等注解设置查询过滤条件等
- 获取实体属性在hibernate配置中对应字段的长度
- hibernate只查询实体类中部分属性的实现方法
- eclipse 逆向工程生成hibernate实体类(注解或配置文件)
- Hibernate基于注解方式配置来实现实体和数据库之间存在某种映射关系
- eclipse逆向生成hibernate的实体类(注解和配置文件)
- 使用Hibernate条件查询时,无法识别对象属性
- Hibernate 实体映射 @注解与xml 配置方式比较
- Hibernate @OneToMany等注解设置查询过滤条件等
- ssh学习之旅(2)--关于hibernate实体映射关联关系映射查询的解决方案-lazy属性惹的祸
- Hibernate实体映射配置1(java@注解方式)
- hibernate条件查询注入自定义Bean无需配置文件,取需要的字段
- Hibernate注解插入有空字段实体映射类:实体类有空字段插入数据库时空属性插入为默认值
- hibernate注解之实体属性OneToOne 单双向关联(三)
- hibernate5实体映射注解配置注解全面解析