我如何注释 aHashMap<Enum, Boolean>
以便 JPA 可以保留它?
@Entity
public class User {
private Map<UserType, Boolean> settings;
}
public enum UserType {
USER, ADMIN
}
我试过@ManyToMany(cascade = CascadeType.ALL)
了,但这给了我一个Boolean
不是实体的错误(当然这是真的)。
我如何注释 aHashMap<Enum, Boolean>
以便 JPA 可以保留它?
@Entity
public class User {
private Map<UserType, Boolean> settings;
}
public enum UserType {
USER, ADMIN
}
我试过@ManyToMany(cascade = CascadeType.ALL)
了,但这给了我一个Boolean
不是实体的错误(当然这是真的)。
@ManyToMany
不是HashMap
. 使用@ElementCollection 注释来映射您的表,而不是中间表将生成命名user_type
(如注释中所定义)。以下是注释示例:
@ElementCollection
@CollectionTable(name = "user_type")
@MapKeyColumn(name = "user_type_col")
@Column(name = "boolean_col")
private Map<UserType, Boolean> userType = new HashMap<>();