1

我如何注释 aHashMap<Enum, Boolean>以便 JPA 可以保留它?

@Entity
public class User {
    private Map<UserType, Boolean> settings;
}

public enum UserType {
    USER, ADMIN
}

我试过@ManyToMany(cascade = CascadeType.ALL)了,但这给了我一个Boolean不是实体的错误(当然这是真的)。

4

1 回答 1

3

@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<>();
于 2013-10-05T16:07:58.103 回答