我正在我的项目中实现Hibernate Envers,对于这个客户端,数据库中的表和列必须遵循特定的名称模式。name模式使用表名来生成列名的一部分,保存修订的表与原始表有不同的名称(当然),因此我需要能够更改Envers生成的表的列名。
如何更改实体试听表的列名称?
REVINFO是默认RevisionListener的默认表
您需要创建实现RevisionListener和自定义revisionEntity的自定义修订侦听器。
自定义实体侦听器:
public class CustomRevisionEntityListener implements RevisionListener {
@Override
public void newRevision(Object revisionEntity) {
CustomRevisionEntity revision = (CustomRevisionEntity) revisionEntity;
revision.setIPAddress("UserIPAddress");
}
}
和自定义实体,您可以使用任何表名和任何字段:
@Entity
@Table(name="anyTableName")
@RevisionEntity(CustomRevisionEntityListener.class)
@Setter
@Getter
@EqualsAndHashCode
public class CustomRevisionEntity implements Serializable {
@Id
@GeneratedValue
@RevisionNumber
@Column(name = "rev")
private int id;
@RevisionTimestamp
@Column( name = "revtstmp")
private long timestamp;
@Column(name = "ipAddress")
private String IPAddress ;
}
我不认为Envers提供了这个功能(更改列的名称),我希望我错了。
我能想到的两个选项是:
问题内容: 我正在制作一个读取XML Internet的Android应用程序。此应用程序使用SAX解析XML。这是我的解析部分代码: 问题是发生SAXException。异常消息如下: org.apache.harmony.xml.ExpatParser $ ParseException:在第4行,第42列:格式不正确(无效的令牌) 但是,如果我将相同的代码放在普通的Java SE应用程序中,则
问题内容: 我将Hibernate用作我们的对象关系映射,并为晦涩的数据库使用了自定义方言。 我从该数据库中检索的实体具有一列,因此: 数据库将此列定义为数字,精度为9,小数位数为3。 我可以看到Hibernate生成的用于检索数据的SQL,当我使用数据库查询工具执行相同的查询时,它为GROSS_WEIGHT列返回“ 9.68”。 但是,在由Hibernate检索的Entity中,“ grossW
我使用Hibernate作为我们的对象关系映射,为一个模糊的数据库使用自定义方言。 我从这个数据库检索的实体有一个列,因此: 数据库将此列定义为数字,精度为9,刻度为3。 我可以看到Hibernate生成的检索数据的SQL,当我使用数据库查询工具执行相同的查询时,它会返回GROSS_WEIGHT列的9.68。 但是,在Hibernate检索到的实体中,“GrossWight”字段包含值“10”,其
问题内容: 我的联系人在解析RSS和Atom文件时遇到SAX问题。根据他的说法,好像来自Item元素的文本被截断为撇号或有时是带重音的字符。编码似乎也有问题。 我尝试了SAX,但也进行了一些删节操作,但无法进一步挖掘。如果有人曾经解决过这个问题,我将不胜感激。 这是ContentHandler中使用的代码: 编辑:编码问题可能是由于将信息存储在字节数组中,因为我知道Java在Unicode中工作。
我正在实现一个 JPA-EJB 解决方案,该解决方案使用Hibernate-恩维尔斯来审核更改。使用玛丽亚DB 5.5.49. 我有一个表,它有一个< code>auto_increment字段(这不是PK,只是另一个字段),我是这样定义的: 我还按照mysql的要求为这个字段创建了一个索引和一个惟一的约束。 不知何故,Envers 无法识别此字段,并且不会在试镜表中存储 caseNumber 的
我有一个实体,其类型由enum表示。数据库是Postgres,在那里表示为枚举类型。我使用JPA/Hibernate及其存储库。请注意,我是JPA、Hibernate和Kotlin的新手。 我试图创建自定义,我需要选择类型(枚举)在可能类型列表中的公司。我,但是,遇到各种错误类型铸造在SQL和/或语法的。 Kotlin中数据类