ユーザーアカウントを使用してWebアプリを開発しています。私には3つのシステムロールと2人のユーザーがいます。私はそれをこのように実装しました(理解を深めるために簡略化されています):
@Table(name = "user")
public class User {
@Id
private String id;
@Column(name = User.COLUMN_LOGIN)
private String login;
@Column(name = User.COLUMN_PASSWORD)
private String password;
@ManyToMany(cascade = CascadeType.DETACH, fetch = FetchType.EAGER)
@JoinTable(name = "role_to_user",
joinColumns={@JoinColumn(name = "userId")},
inverseJoinColumns={@JoinColumn(name = "roleId")})
private Set<Role> roles = new LinkedHashSet<Role>();
}
@Table(name = "role")
public class Role {
@Id
private String id;
@Column(name = Role.COLUMN_ROLETYPE)
private int roletype;
}
ユーザーへの役割の割り当て日とこの割り当ての終了日を実装するための最良の方法は何ですか?私の考えは、列startDateとendDateをという名前role_to_user
のバインディングテーブルに追加することですが、休止状態にする方法がわかりません:)
これは素晴らしいアイデアですか、それともそれを行うためのより良い方法はありますか?
ありがとう、Ondrej