根据论坛的建议https://vladmihalcea.com/oracle-json-jpa-hibernate/
我正在映射oracle blob JSON列与字符串类型的实体使用下面的代码-
@TypeDefs({ @TypeDef(name = "jsonb", typeClass = JsonBlobType.class) })
@Audited
@Table(name = "hyperform_common_config")
@Entity
public class CommonConfig implements Serializable{
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Id
@Column(name = "id")
private long id;
@Type(type = "jsonb")
@Column(name = "config_data")
private String configData;
但是JsonBlobType在@审计的情况下不工作。错误——
Caused by: org.hibernate.MappingException: Could not determine type for: jsonb-lob, at table: hyperform_common_config_AUD, for columns: [org.hibernate.mapping.Column(config_data)]
我是否需要为审计表做额外的配置?
奇怪的是,只需将type的名称更改为"jsonb-lob"成功了-
@TypeDefs({ @TypeDef(name = "jsonb-lob", typeClass = JsonBlobType.class) })
@Audited
@Table(name = "hyperform_common_config")
@Entity
public class CommonConfig implements Serializable{
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Id
@Column(name = "id")
private long id;
@Type(type = "jsonb-lob")
@Column(name = "config_data")
private String configData;