Сохранять отношения один ко многим в jpa - PullRequest
0 голосов
/ 30 марта 2019

У меня есть эти два объекта, в которых группа в виде списка разрешений и разрешений принадлежит группе:

GroupClass:

@Entity
@Table(name = "group")
public class GroupEntity {

@Id
private String name;

@OneToMany(mappedBy = "group",cascade = {CascadeType.ALL})
private Set<Permission> permissions;

public GroupEntity() {

}

public GroupEntity(String name,Permission ...permissions) {
    this.name = name;
    this.permissions = Stream.of(permissions).collect(Collectors.toSet());
    this.permissions.forEach(x -> x.setGroup(this));
}

Класс разрешения:

@Entity

Разрешение публичного класса {

@Id
@GeneratedValue
private Long id;

private String permissionName;

@ManyToOne
private GroupEntity group;

public Permission() {

}

public Permission(String permissionName) {
    this.permissionName = permissionName;
}

Чтобы сохранить разрешение, я сделал это:

    Permission p2=new Permission("permission2");
    permissionRepository.save(p2);

    GroupEntity r1 = new GroupEntity("group",p2);   
    groupRepository.save(r1);

И яЯ думал, что вместо этого, если бы я сделал это, это сработало бы, но Он не знал и не знает почему:

    Permission p2=new Permission("permission2");
    permissionRepository.save(p2);

    GroupEntity r1 = new GroupEntity("group");  
    p2.setGroup(r1);
    permissionRepository.save(p2);
    groupRepository.save(r1);

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...