Hibernate: JsonBlobType不与Oracle在@审计的情况下工作



根据论坛的建议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;

相关内容

最新更新