如何解决将 hibernate envers 与 PostgreSQLRangeType 之类的类型一起使用有可能吗?有没有不重构遗留代码的简单方法?
想知道是否有关于这个话题的新进展?
在尝试将 hibernate-types-52-library 类型与 Envers 一起使用时,我正面临着可能处于类似情况的大多数人所面临的问题……,此错误:
Invocation of init method failed; nested exception is org.hibernate.MappingException: Type not supported for auditing: com.vladmihalcea.hibernate.type.range.PostgreSQLRangeType,on entity ...
我尝试创建自定义方言,例如:
public class CustomPostgresDialect extends PostgreSQL10Dialect {
public CustomPostgresDialect() {
super();
this.registerHibernateType(Types.OTHER,PostgreSQLRangeType.class.getName());
this.registerColumnType(1111,"range");
}
}
我在 application.yml(源代码和测试)中都有这个:
jpa:
database-platform: <path>.CustomPostgresDialect
show-sql: false
open-in-view: false
properties:
hibernate:
dialect: <path>.CustomPostgresDialect
@Entity
@TypeDef(name="range",typeClass = PostgreSQLRangeType.class,defaultForType = Range.class)
public class Spec extends TemporalTable implements Serializable {
@Type(type = "range")
private Range<Integer> range;
}
@Entity
@TypeDef(name="range",defaultForType = Range.class)
public class Spec extends TemporalTable implements Serializable {
@Type(type = "range")
private Range<Integer> range;
}
如果这不起作用,是否可以将 [0,15) 保存为 varchar,然后将其转换为范围?这样 Hbn envers 就不会抱怨了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。