Hibernate 不使用单向多对多的环境

Hibernate 不使用单向多对多的环境,hibernate,many-to-many,hibernate-envers,Hibernate,Many To Many,Hibernate Envers,我在用户和角色之间有单向多对多。用户有许多角色。 当我创建用户并分配角色以及更改角色集时,envers认为角色列表为空。 我错过了什么 数据库中的表格: 管理员角色 行政角色 管理员用户 行政用户 管理员用户角色 管理员用户角色 课程: @Entity @Table(name="AdminUser") @Audited public class AdminUser { @ManyToMany(fetch = FetchType.EAGER) @JoinTable(name="AdminUs

我在用户和角色之间有单向多对多。用户有许多角色。 当我创建用户并分配角色以及更改角色集时,envers认为角色列表为空。 我错过了什么

数据库中的表格:

管理员角色 行政角色 管理员用户 行政用户 管理员用户角色 管理员用户角色 课程:

@Entity 
@Table(name="AdminUser")
@Audited
public class AdminUser {

@ManyToMany(fetch = FetchType.EAGER) 
@JoinTable(name="AdminUserRole", 
        joinColumns=@JoinColumn(name="admin_user_id", referencedColumnName="id"),
        inverseJoinColumns=@JoinColumn(name="admin_role_id", referencedColumnName="id"))
@AuditJoinTable(name = "AdminUserRole_AUD", 
        inverseJoinColumns=@JoinColumn(name="admin_role_id", referencedColumnName="id"))
private List<AdminRole> adminRoles;

    ...
}

您是否正确地提交了交易?是否出现其他审核条目?Hibernate的哪个版本?@adamw,事务已正确提交,实体AdminUser有其他字段,它们都已正确反映,只有角色列表为空。hibernate的版本是4.3.0。Final@adamw,当我创建一个新的AdminUser时,数据库中的AUD表中会添加两条新记录—一条在表AdminUser\u AUD中,一条在AdminUserRole\u AUD中。AdminRole\u AUD.Hmm中没有创建任何记录,那么,应该可以工作:。您使用的是与Hibernate相同版本的Envers?@adamw,是的,Envers和Hibernate都是4.3.0.Final。谢谢你调查这件事。还没有解决。
@Entity
@Table(name="AdminRole")
@Audited
public class AdminRole {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;    
}