首页 > 解决方案 > Spring数据休息,关系属性的默认值

问题描述

我有用户和权限实体,连接多对多关系。当我使用 POST 添加新用户时,我想为他设置默认角色,例如存在“admin”的角色。我不想手动这样做。

@Data
@Entity
public class User {

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

@Column(unique = true)
@NotNull
private String username;

@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "user_authority", joinColumns = {@JoinColumn(name = "user_id", referencedColumnName = "id")},
        inverseJoinColumns = {@JoinColumn(name = "authority_id", referencedColumnName = "id")})
private List<Authority> authorities;

}

我该怎么做?我知道如何为用户名设置默认值,但是当它有关系时我不知道该怎么做。

感谢帮助

标签: springhibernatejpajwtspring-data-rest

解决方案


我认为你可以用纯java实现这一点:

private List<Authority> authorities = Arrays.asList(Authority.ADMIN);

因此,例如,您拥有枚举,并且您将在系统中创建的Authority每个对象默认都具有权限。然后,当您保存用户时,它的权限也将被保存。UserADMIN


推荐阅读