【发布时间】:2017-10-01 03:00:32
【问题描述】:
我在数据库中的表上创建休眠实体。
实体 A 引用实体 B
@Entity
@Table(name="TABLE_A")
@NamedQuery(.. query="SELECT n FROM EntityA n")
public class EntityA {
....
@ManyToOne(...)
@JoinColumn(...)
private EntityB b;
@Entity
@Table(name ="TABLE_B")
@NamedQuery(.. query="SELECT n FROM EntityB n")
public class EntityB {
...
唯一的问题是EntityA被标记了@Audited注解(org.hibernate.envers.Audited),而EntityB没有。
发布应用程序时,堆栈跟踪中出现以下错误:
原因:org.hibernate.MappingException:从 EntityA 到未审计实体 EntityB 的审计关系!这样的映射是可能的, 但必须使用 @Audited(targetAuditMode = NOT_AUDITED)。
如果我在private EntityB b 上方添加@Audited(targetAuditMode = NOT_AUDITED),Eclipse 会给我以下错误
NOT_AUDITED 无法解析为变量
我该如何解决这个问题?
【问题讨论】:
-
您是否包含了envers jars?依赖?
-
是的;否则eclipse会在@Audited注释处给我错误,但事实并非如此
标签: java hibernate annotations hibernate-mapping