Spring フレームワークの列挙型は、事前定義された定数値のセットを表すために使用されます。主に次の方法で使用されます。列挙型を宣言し、@Enumerated アノテーションを使用して永続化戦略 (EnumType.ORDINAL または) を指定します。実際のケース: ユーザー権限管理システムでは、列挙型を使用してユーザー権限を表すことができ、@CollectionTable アノテーションを使用してユーザー モデルに関連付けることで、ユーザー権限を簡単に管理し、列挙型定数を保持できます。
Spring フレームワークでの Java 列挙型の使用
Spring フレームワークでは、グループを表すために列挙型が使用されます。事前定義された定数値。例:
public enum Role { ADMIN, USER, GUEST }
Spring フレームワークで列挙型を使用する主な方法は次のとおりです。
1. 列挙型を宣言します。 まず、列挙型を宣言する必要があります:
public enum Role { // 枚举常量 ADMIN, USER, GUEST }
@Enumerated 注釈 を使用します。の場合、
アノテーションを使用して永続化戦略を指定する必要があります。 Spring は 2 つの戦略を提供します。
@Entity public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Enumerated(EnumType.STRING) private Role role; }
ユーザーがさまざまな権利を持つことができるユーザー権利管理システムを考えてみましょう。次の列挙型を使用して権限を表すことができます:
public enum Permission { READ, WRITE, DELETE }
その後、
Permission 列挙型をユーザー モデルに関連付けることができます: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:java;toolbar:false;'>@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String username;
private String password;
@Enumerated(EnumType.STRING)
@CollectionTable(
name = "user_permissions",
joinColumns = @JoinColumn(name = "user_id")
)
@Column(name = "permission")
private Set<Permission> permissions;
}</pre><div class="contentsignin">ログイン後にコピー</div></div> in User<p> このクラスでは、<code>permissions
属性は Set<Permission>
であり、ユーザーの権限を保存するために使用されます。 @CollectionTable
アノテーションを使用することにより、Spring は補助テーブルを使用してユーザーと権限の間の関係を保存します。 これにより、ユーザー権限を簡単に管理し、Spring の自動変換機能を使用して永続オブジェクトと列挙定数の間で変換を行うことができます。
以上がJava 列挙型は Spring フレームワークでどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。