在Hibernate中映射Oracle 11g虚拟列

时间:2012-04-23 06:51:36

标签: oracle11g hibernate-mapping

这方面的一些问题: -

一个。是否有一个特定的休眠type用于oracle 11g虚拟列或原生的那些?

湾如果要使用stringlong等类型(并且在hql查询中使用时它们可以正常工作)那么如何使用Criteria API获取映射到虚拟列的属性?

℃。目前,条件查询将这些属性返回为空,尽管它们中包含值。作为替代方案,我通过调用用于派生虚拟列的函数并使用实际值返回结果集来使用formula元素。但是,由于处理开销再次转移到休眠/应用程序代码,因此在表中使用虚拟列是没有用的。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

这似乎是虚拟列的一个问题,Hibernate无法对它做任何事情,因为它只是生成sql。

最简单的方法是使用公式属性而不是虚拟列。 如果虚拟列是预先计算的,那么您可以使用普通列和触发器来模拟它们。