Spring数据休息,关系属性的默认值

时间:2018-05-19 11:29:32

标签: spring hibernate jpa jwt spring-data-rest

我有User和Authority实体,连接了ManyToMany关系。 当我使用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;

}

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

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

我认为你可以用纯java来实现这个目的:

npm i fibers@1.0.15 

例如,您将拥有枚举private List<Authority> authorities = Arrays.asList(Authority.ADMIN); ,并且您将在系统中创建的每个Authority对象默认情况下将User作为权限。然后,当您保存用户时,它的权限也将被保存。