hibernate - Hibernate:在@Audited 的情况下,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 在 @Audited 的情况下不起作用。错误 -
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)]
我需要为审计表做任何额外的配置吗?
解决方案
奇怪的是,只需将类型名称更改为“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;
推荐阅读
- google-apps-script - 编写脚本以在数据输入时自动创建新的谷歌表
- android - FirebaseAuth因网络离线而登录失败如何处理?
- bash - 在 bash 脚本中使用传递的参数
- r - 将带 MM:SS.MS 的时间戳转换为不带日期 R 的 MM:SS.MS
- c# - 如何修复实例化 Excel.Application 对象时随机发生的 Excel.Application 错误
- c# - 如何从此 json 对象中获取值?
- scala - Spark Dataframe - 如何操作具有嵌套结构的行?
- mysql - MySQL 8 InnoDB 32KB 和 64KB 页面大小对 HDD 的好处
- sql - 模式匹配在 SQL 中,字符出现在任何地方但按顺序排列
- java - 使用 selenium java 在 IE 浏览器上运行的应用程序中的模态对话框未识别