许多人不尊重更新和插入

时间:2015-09-18 18:56:24

标签: java spring hibernate jpa

我正在尝试设置用户和角色之间的多对多关系。我主要使用JPA存储库,但我也尝试使用和EntityManger。

我的主User对象中有以下内容。

 @ManyToMany(fetch = FetchType.LAZY)
    @JoinTable(name = "svcAuthUserRolev2", schema="dbo", joinColumns = { 
            @JoinColumn(name = "user_id", updatable=false,insertable=false, nullable = false) }, 
            inverseJoinColumns = { @JoinColumn(name = "role_id", 
                    updatable=false,insertable=false, nullable = false) })
    private Set<AuthRoleEntity> roles;

我的角色对象中的以下内容

@ManyToMany(fetch = FetchType.LAZY, mappedBy = "roles")

private Set<AuthUserEntity> users;

无论我做什么,如果我在保存时对用户的角色进行更改,它们会被保留,这不是我想要的。我希望用户对象上的角色只能读取。

1 个答案:

答案 0 :(得分:0)

我不确定为什么updateableinsertable不起作用,我没有太多使用这些属性。一种可能的解决方案是使AuthRoleEntity成为多对多关系的拥有实体。只需将@JoinTable注释移至AuthRoleEntity,然后将mappedBy放在AuthUserEntity上。