0

エンティティ ロールに ManyToMany を持つエンティティ アカウントを取得しました。

@Entity
public class Account {

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

    @ManyToMany(cascade= {CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REFRESH}, fetch=FetchType.EAGER)
    @JoinTable(name="Account_Role")
    private Set<Role> roles;

    // getters, setters
}

リレーションシップ コレクションにアクセスしようとすると、ロールが null であるため NullPointerException が発生しました。

Account account = new Account();
account.getRoles().size();

に空のセットを注入するべきではありませんrolesか? または、それはデフォルトの動作であり、次の方法でroles作成を制御する必要があります。

   private Set<Role> roles = new HashSet()<>;
4

1 に答える 1