Hibernate进程如何'?
How Hibernate process '?'
我是 Hibernate 新手。我无法理解 Hibernate 如何在 Restrictions.sqlRestriction()
方法中处理 ?。比如官方有一个sample guide:
List cats = sess.createCriteria(Cat.class)
.add( Restrictions.sqlRestriction("lower({alias}.name) like lower(?)", "Fritz%", Hibernate.STRING) )
.list();
看起来像是一个占位符。 Hibernate 会在 ...like lower(Fritz%)
SQL 请求中转换此语句吗?
如果是,那么 lower(Fritz%)
看起来无效,对吗?
是的,? 是一个用“Fritz%”填充的占位符。
% 它是一个通配符,它经常与 like
一起使用,就像在这种情况下。
基本上查询搜索名称以“Fritz”开头的每只猫。
编辑
一开始我没明白你对 lower(Fritz%)
的担忧,但正如 XtremeBaumer 所建议的那样,查询实际上已转换为 lower('Fritz%')
我是 Hibernate 新手。我无法理解 Hibernate 如何在 Restrictions.sqlRestriction()
方法中处理 ?。比如官方有一个sample guide:
List cats = sess.createCriteria(Cat.class)
.add( Restrictions.sqlRestriction("lower({alias}.name) like lower(?)", "Fritz%", Hibernate.STRING) )
.list();
看起来像是一个占位符。 Hibernate 会在 ...like lower(Fritz%)
SQL 请求中转换此语句吗?
如果是,那么 lower(Fritz%)
看起来无效,对吗?
是的,? 是一个用“Fritz%”填充的占位符。
% 它是一个通配符,它经常与 like
一起使用,就像在这种情况下。
基本上查询搜索名称以“Fritz”开头的每只猫。
编辑
一开始我没明白你对 lower(Fritz%)
的担忧,但正如 XtremeBaumer 所建议的那样,查询实际上已转换为 lower('Fritz%')