在hibernate envers中存储表名时出错
我必须在审计表中存储表名,为此我使用hibernate envers。我试图在hibernate envers文档中给出的示例应用程序中实现该示例。有关代码,您可以参考此链接 但这段代码不起作用,给了我一个错误在hibernate envers中存储表名时出错,hibernate,hibernate-envers,auditing,Hibernate,Hibernate Envers,Auditing,我必须在审计表中存储表名,为此我使用hibernate envers。我试图在hibernate envers文档中给出的示例应用程序中实现该示例。有关代码,您可以参考此链接 但这段代码不起作用,给了我一个错误 java.lang.IllegalArgumentException: Can not set int field hibernate.ModifiedEntityTypeEntity.id to java.lang.String 请在这里找到我的代码 @Entity @Revisi
java.lang.IllegalArgumentException: Can not set int field hibernate.ModifiedEntityTypeEntity.id to java.lang.String
请在这里找到我的代码
@Entity
@RevisionEntity(CustomEntityTrackingRevisionListener.class)
public class CustomTrackingRevisionEntity {
@Id
@GeneratedValue
@RevisionNumber
private int customId;
@RevisionTimestamp
private long customTimestamp;
@OneToMany(mappedBy="revision", cascade={CascadeType.PERSIST, CascadeType.REMOVE})
private Set<ModifiedEntityTypeEntity> modifiedEntityNames =
new HashSet<ModifiedEntityTypeEntity>();
public void addModifiedEntityType(String entityClassName) {
modifiedEntityNames.add(new ModifiedEntityTypeEntity(this, entityClassName));
}
//getter and setters
}
==============================================================================
public class CustomEntityTrackingRevisionListener
implements EntityTrackingRevisionListener {
@Override
public void entityChanged(Class entityClass, String entityName,
Serializable entityId, RevisionType revisionType,
Object revisionEntity)
{
String type = entityClass.getName();
CustomTrackingRevisionEntity customeEntity = (CustomTrackingRevisionEntity)revisionEntity;
customeEntity.addModifiedEntityType(type);
}
@Override
public void newRevision(Object revisionEntity) {
}
}
=============================================================
@Entity
public class ModifiedEntityTypeEntity {
@Id
private int id;
@ManyToOne
@JoinColumn(name="revision_customId", nullable=false)
private CustomTrackingRevisionEntity revision;
private String entityClassName;
public ModifiedEntityTypeEntity(CustomTrackingRevisionEntity revision , String entityClassName)
{
this.revision = revision;
this.entityClassName = entityClassName;
}
//getter and setters
}
我曾试图找出解决办法,但一无所获。请帮帮我。提前谢谢