【发布时间】:2014-08-02 15:09:29
【问题描述】:
如果我在一个实体中使用
@Lob
private String data;
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
然后该字段在数据库中创建为varchar(255)
但是,如果我这样使用:
private String data;
@Lob
public String getData() {
return data;
}
@Lob
public void setData(String data) {
this.data = data;
}
然后该字段在数据库中创建为text。
我认为在这两种情况下,数据库中都应该是text。
@Target for javax.persistence.Lob 是 @Target(value={FIELD, METHOD}) 所以我认为这可能是一个错误。
这是一个错误还是您知道说明差异的文档?
相关 pom.xml 片段
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.5.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.3.5.Final</version>
</dependency>
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.2-1004-jdbc41</version>
</dependency>
【问题讨论】:
标签: hibernate postgresql jakarta-ee jpa postgresql-9.2