Chu*_*ckM 6 java orm hibernate hibernate-criteria
例如,如果我做了类似的事情:
Criteria c = session.createCriteria(Book.class)
.add(Expression.ge("release",reDate);
.add(Expression.ge("price",price);
.addOrder( Order.asc("date") )
.setFirstResult(0)
.setMaxResults(10);
c.list();
Run Code Online (Sandbox Code Playgroud)
如何使用相同的条件实例,但删除(例如)第二个标准?我正在尝试构建一个动态查询,我想让用户删除一个过滤器,而后端不必从头开始重建标准.
谢谢
据我所知,一旦你创建它,就没有办法从条件查询中删除东西(限制,排序等).我对Criteria API的内部知识不够了,但我知道暴露的界面中没有任何东西.您可以尝试操纵传入的对象,add或者addOrder这听起来像是值得的工作,特别是当有更清洁的替代品时.
在我看到的每个应用程序中,Criteria查询肯定是一次性使用.
现在,您可以做的是以自定义格式存储您的限制,排序和限制(例如Collection),然后从存储的格式中轻松构建您的查询.这可能对您的用户界面更有意义,因为您当然需要细粒度控制.
不是你要找的答案,我敢肯定,但这正是我过去所做的.
HTH
| 归档时间: |
|
| 查看次数: |
4451 次 |
| 最近记录: |