Der Aufzählungstyp im Spring-Framework wird verwendet, um eine Reihe vordefinierter konstanter Werte darzustellen. Er wird hauptsächlich auf folgende Weise verwendet: Deklarieren Sie den Aufzählungstyp und verwenden Sie die Annotation @Enumerated, um die Persistenzstrategie anzugeben (EnumType.ORDINAL oder EnumType). STRING) Praktischer Fall: Benutzerberechtigungen Aufzählungstypen können im Verwaltungssystem zur Darstellung von Benutzerberechtigungen verwendet werden, und die Annotation @CollectionTable kann zur Verknüpfung mit dem Benutzermodell verwendet werden, um Benutzerberechtigungen einfach zu verwalten und Aufzählungskonstanten beizubehalten.
Die Verwendung von Java-Aufzählungstypen im Spring-Framework
Im Spring-Framework werden Aufzählungstypen verwendet, um eine Reihe vordefinierter konstanter Werte darzustellen, z. B.:
public enum Role { ADMIN, USER, GUEST }
Aufzählungstypen und Spring-Framework Das Wichtigste Möglichkeiten, es zusammen zu verwenden, sind wie folgt:
1. Deklarieren Sie einen Aufzählungstyp
Zunächst müssen Sie einen Aufzählungstyp deklarieren:
public enum Role { // 枚举常量 ADMIN, USER, GUEST }
2. Verwenden Sie die Annotation @Enumerated
@Enumerated
注解
在使用枚举类型之前,你需要使用 @Enumerated
注解指定其持久化策略。Spring 提供了两种策略:
EnumType.ORDINAL
:将枚举常量的顺序值存储在数据库中(从 0 开始)。EnumType.STRING
:将枚举常量的字符串值存储在数据库中。@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
枚举类型与用户模型关联:
@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; }
在 User
类中,permissions
属性是一个 Set4021e4fcee2d18f954cbe4ec9db50982
,用于存储用户的权限。通过使用 @CollectionTable
in Bevor Sie einen Aufzählungstyp verwenden, müssen Sie seine Persistenzstrategie mithilfe der Annotation @Enumerated
angeben. Spring bietet zwei Strategien:
EnumType.ORDINAL
: Speichert die sequentiellen Werte von Aufzählungskonstanten in der Datenbank (beginnend bei 0). EnumType.STRING
: Speichert den String-Wert einer Aufzählungskonstanten in der Datenbank. Permission
mit dem Benutzermodell verknüpfen: 🎜rrreee🎜In der Klasse User
permissions ist ein Set4021e4fcee2d18f954cbe4ec9db50982
, das zum Speichern der Berechtigungen des Benutzers verwendet wird. Durch die Verwendung der Annotation @CollectionTable
verwendet Spring eine Hilfstabelle, um die Beziehung zwischen Benutzern und Berechtigungen zu speichern. 🎜🎜Auf diese Weise können Sie Benutzerberechtigungen einfach verwalten und die automatische Konvertierungsfunktion von Spring verwenden, um zwischen persistenten Objekten und Aufzählungskonstanten zu konvertieren. 🎜Das obige ist der detaillierte Inhalt vonWie funktionieren Java-Aufzählungstypen mit dem Spring-Framework?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!