2.2. ロールのストレージとしての Jakarta Persistence エンティティー
次の例を使用して、別の Jakarta Persistence エンティティー内にロールを保存します。
@UserDefinition @Table(name = "test_user") @Entity public class User extends PanacheEntity { @Username public String name; @Password public String pass; @ManyToMany @Roles public List<Role> roles = new ArrayList<>(); } @Entity public class Role extends PanacheEntity { @ManyToMany(mappedBy = "roles") public List<User> users; @RolesValue public String role; }
@UserDefinition
@Table(name = "test_user")
@Entity
public class User extends PanacheEntity {
@Username
public String name;
@Password
public String pass;
@ManyToMany
@Roles
public List<Role> roles = new ArrayList<>();
}
@Entity
public class Role extends PanacheEntity {
@ManyToMany(mappedBy = "roles")
public List<User> users;
@RolesValue
public String role;
}
注記
この例では、ロールの保存とアクセスを示します。既存のユーザーを更新したり、新しいユーザーを作成したりするには、public List<Role> roles
に @Cascade(CascadeType.ALL)
をアノテーションするか、特定の CascadeType
を選択します。