日期:2014-05-17  浏览次数:20603 次

问个多条件查询的问题
我想写个hql,这个hql是根据对象的内容来决定的。

比如对象book里设置了b.setName("111")
那么hql就等于"from Book b where b.name="+b.getName()

如果对象book里设置了b.setName("111")和b.setPrice("222")
那么hql就等于"from Book b where b.name="+b.getName()+"and b.price="+ b.getPrice()

如果book的属性都没有被赋值
那么hql就等于from Book

hql是根据对象book里属性来改变的,被赋值的属性越多,hql的条件就越多。这个如何做呢?

------解决方案--------------------
QBC(Query By Criteria) 
 你去看看hibernate的 QBC
功能很丰富的,也很方便!

建议:
不要为编码而编码,其实hql也很不错!如果喜欢qbc的风格,也可以试试,确实也很不错的风格!