我在将Java对象映射到正在进行的JSON列时遇到一些麻烦,我希望H2将其存储为clob(因为没有json类型)
我将Hibernate与ddl-auto一起使用,并希望它能够创建正确的列类型。另外Spring-data-rest应该能够映射对象。
对于sprint数据休息,最好使用@Converter
,因此我无法使用@Type
/ UserTypes
进行休眠。
我有一个有UserType
和2个自定义方言的工作解决方案(一个用于Postgres,一个用于H2)。但我无法使用转换器解决问题。似乎Hibernate只知道转换后的类型,即String
并生成varchar列。但我无法将所有字符串映射到Postgres的JSON ......
我有点卡在这里。所以我很乐意提供任何可以尝试的提示。
答案 0 :(得分:0)
import javax.annotation.Nonnull
import javax.persistence.*
@Entity
class AdhocDocument {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Long id
String lookupKey // use a guid here
String loggingKey // use a guid here
@Lob
@Column(name = "payload", columnDefinition="BLOB")
private byte[] payload
String toString() { "[${lookupKey}, ${loggingKey} ]"}
}