Hibernate中通过传入一个属性不完整的对象来查询,获取List对象

[code="ruby"]

Transaction tx = session.beginTransaction();
Example example = Example.create(dpt);
example.ignoreCase().enableLike(MatchMode.ANYWHERE);
list = session.createCriteria(User.class).add(example).list();

[/code]

User类的属性: name ,age…不单只有name和age,还有其他的属性。

问题:
当我查询的User对象name=tom ,age=12时,只要符合以上两个条件的任意一条都可以获取到list对象。
需要解决:
有什么方法同时满足多个个条件时,才能被查询出来?

3个回答

直接使用如
Criteria crit = session.createCriteria(User.class);
// Two Criteria Condition
Criterion cr1 = Restrictions.eq("empName", "Gyan 3");
Criterion cr2 = Restrictions.gt("empId", new Integer(5));
// Or Criteria Condition
crit.add(Restrictions.or(cr1, cr2));

mjjmjc
mjjmjc 哦!谢谢您啦!
6 年多之前 回复
jinnianshilongnian
jinnianshilongnian 没有 这种条件必须自己拼接 hibernate没那么智能
6 年多之前 回复
mjjmjc
mjjmjc 首先谢谢你的回答,我问题是这样的:对象属性为用户赋值,然后根据此对象,查询出符合多个条件的对象。Hibernate没有提供这样的方法吗?我的代码里的方法只要符合一个条件就查出对象……
6 年多之前 回复
jinnianshilongnian
jinnianshilongnian if() else 判断 如果有值就拼
6 年多之前 回复
mjjmjc
mjjmjc 假如我的user类有10个属性,查询的属性又不确定的时候呢?
6 年多之前 回复

QBE创建Example, 查询出来的对象应该是满足和User属性完全相同的对象的啊. 我没看明白你到底要做什么 :oops:

问问题的是spark?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!