在Nibernate中将Null Value设置为query.setString以获取命名参数?

时间:2012-09-06 07:58:56

标签: hibernate

如何在Hibernate中为命名参数的query.setString设置Null Value?

谢谢, 卡锡尔

1 个答案:

答案 0 :(得分:0)

我认为你做不到,因为在SQL中你需要一个不同的null值语法。 SQL中的示例:

select x.col from table x where x.string = 'text';

但是你使用空值

select x.col from table x where x.string is null;

因此,您无法在SQL中的命名参数中设置null。同样在Hibernate中,当字符串为null时,您需要一个不同的查询。例如:

String select;
if (s == null) {
  select = "from Table where column is null";
} else {
  select = "from Table where column = :string";
}
Query q = session.createQuery(s);
if (s != null) {
  q.setString("string", s);
}