Oracle RAW列的Hibernate Mapping

时间:2017-08-18 13:51:51

标签: oracle hibernate

我们正在使用Hibernate并且不确定如何将属性映射到Oracle表中的RAW列(特别是在它们上面有索引)。

已知的事实是 String 不能用于实体属性值 - Hibernate无法在 HEXTORAW Oracle函数调用前添加以便生成索引在要使用的列上(因为没有这个Oracle隐式地将RAWTOHEX附加到列值本身)。

但是,使用 byte [] 作为实体属性值是否正在解决此问题尚不清楚。由于JDBC驱动程序直接发送二进制数据 - 假设使用索引是合乎逻辑的 - 因为不需要既不执行 HEXTORAW 也不执行 RAWTOHEX 函数。

但是,我不确定如何证明它(除了投入数百万条记录并执行一些基准测试)。 我试图搜索类似的问题,但没有成功。

有没有人知道这件事? 提前谢谢,

1 个答案:

答案 0 :(得分:3)

最终答案 - 是的,映射byte []有效。

在具有数百万条记录和RAW类型主键的表上进行测试。

如果使用String,则需要约2分钟才能通过PK查找记录。

立即找到byte []记录。