在Hibernate中,如何在同一实体字段上处理不同的数据类型?

时间:2018-10-27 05:11:13

标签: java oracle hibernate jpa db2

我有一个这样的实体,由Hibernate映射:

@Entity
public class MyTable {
  // ...
  private String myMessage;
  // Getters...
}

我必须同时支持Oracle和DB2,但是此特定列在两个数据库的模式中具有不同的类型:在Oracle模式中为VARCHAR2(2000),在DB2中为CLOB

现在,如果我保持原样,它适用于Oracle并在DB2上中断,如果我用myMessage注释@Lob,则可以在DB2上运行,但是在Oracle上中断。

由于我无法更改架构,因此处理这种情况的最佳方法是什么?我当时在想类似自定义的Hibernate类型,但不确定。

请注意,该实体是只读的,目前我对持久化数据不感兴趣。

0 个答案:

没有答案