【发布时间】:2018-11-15 12:52:17
【问题描述】:
我有一个用于 postgresql 数据库的带有休眠注释的 JAVA POJO 类。
现在,我要求我们在应用程序中支持多个数据库。我的问题是:我们应该使用与其他数据库(Oracle、MySQL、SQL Server)相同的类还是应该为每个不同的数据库编写单独的注释类?
原因:为了支持特殊字符,我们使用数据库专有类型而不是像
这样的休眠类型// for oracle
@Column(sql-type="nvarchar2")
private String name;
// for sql server
@Column(sql-type="nvarchar")
private String name;
// hibernate doesn't support different proprietary sql types at same type like this
@Column(sql-type={"nvarchar","nvarchar2"})
private String name;
【问题讨论】:
-
这个
@Column注解来自哪个java包和hibernate版本? -
javax.persistence.Column 和休眠版本 5.0.2
-
我没有找到提供
sql-type属性的注释。您是说 Column#columnDefinition 属性吗? docs.oracle.com/javaee/7/api/javax/persistence/… -
如果您的问题已回答,请将其标记为已回答。