我如何注释 HashMap<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<>();
关于java - 如何用JPA映射一个HashMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19199701/