何时将标量添加到命名查询

时间:2011-03-04 18:57:17

标签: hibernate

何时需要为命名查询添加标量?例如:

<return-scalar column="colName" type="java.lang.String" /> 

有时似乎不需要它们,而有时,如果没有标量,查询将抛出异常。

1 个答案:

答案 0 :(得分:2)

让我分享一些意见。

  1. 如果您的查询是 select * from table ,可以使用setScalar动态限制列数。

  2. 如果您使用标量,查询将不会使用 ResultSetMetadata 来查找类型,并将使用提供的更快更有效的类型。

  3. 如何将从ResultSetMetaData返回的java.sql.Types映射到Hibernate类型由Dialect控制。如果未映射特定类型,或者未生成预期类型,则可以通过调用Dialect中的registerHibernateType来自定义它。

  4. 阅读文档以获取更多详细信息here