想象一个简单的网页,您可以像这样搜索预订:
picture of web page http://locuslive.com/webdrive/booking.png
如果未填写预订号字段,我想返回所有行。
如果填写了预订号字段,我只想返回该行。
我一直在Hibernate(使用基础MySQL数据库)中使用模式来完成此操作,例如:
AND (:bookingNum IS NULL OR (:bookingNum IS NOT NULL AND :bookingNum = booking.bookingNumber))
我最近看到了一些weird performance issues,这让我想知道这里是否有更好的模式可以使用。我确定非Hibernate查询必须存在类似的问题。
别人在这种情况下做什么?
谢谢,
D.
最佳答案
使用Hibernate条件查询,仅当BookingNum不为null时添加谓词。