+ -
当前位置:首页 → 问答吧 → 问个多条件查询的问题

问个多条件查询的问题

时间:2011-11-08

来源:互联网

我想写个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的条件就越多。这个如何做呢?

作者: kouwoo   发布时间: 2011-11-08

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

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

作者: blliy117   发布时间: 2011-11-08

引用 1 楼 blliy117 的回复:
QBC(Query By Criteria)
你去看看hibernate的 QBC
功能很丰富的,也很方便!

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


多谢指教,我有空的时候会去看的,不过现在没时间

作者: kouwoo   发布时间: 2011-11-08

你这个不会出错么?如果没被赋值。那就是NULL 。在数据库里是查不到东西的吧。!!!!!!!

作者: kenvinfeng88   发布时间: 2011-11-08

好像还真不能实现这样的hql语句,最多封装的在好点,要完全实现动态不现实

作者: a3737500   发布时间: 2011-11-08

''还是有必要的啦

作者: hepeng154833488   发布时间: 2011-11-08

引用 3 楼 kenvinfeng88 的回复:
你这个不会出错么?如果没被赋值。那就是NULL 。在数据库里是查不到东西的吧。!!!!!!!


这样会报错的,大哥

作者: kouwoo   发布时间: 2011-11-08