【发布时间】:2021-08-27 01:25:32
【问题描述】:
我的代码设计为同时支持 oracle 和 postgresql,但是 @Lob 注释的行为从 oracle 到 pg 不同,在带有 Java String Object 类型的 oracle @Lob 中效果很好,但是在 pg 中,我应该添加注释 @Type(type ="org.hibernate.type.TextType") 将String映射成pg文本格式,不兼容oracle。 如何让一个 JPA 实体类支持 oracle 和 pg 成为可能?
这是我的实体类。
package hello.world.demo3;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.annotations.Type;
import javax.persistence.*;
@Entity
@Table(name = "my_task")
@Getter
@Setter
public class Task {
@Id
@GeneratedValue
@Column(name = "i_id", nullable = false)
private Long id;
@Lob
@Column(name = "c_lob")
private String lob;
@Lob
@Type(type ="org.hibernate.type.TextType")
@Column(name = "c_text")
private String text;
}
【问题讨论】:
标签: java database postgresql oracle spring-data-jpa