如何使用JPA2在实体中映射EnumSet(或枚举列表)

art*_*teq 5 mapping entity enumset

我有实体人:

@Entity
@Table(schema="", name="PERSON")
public class Person {
    List<PaymentType> paymentTypesList;
    //some other fields     
    //getters and setters and other logic
}
Run Code Online (Sandbox Code Playgroud)

我有枚举PaymentType:

public enum PaymentType {
    FIXED, CO_FINANCED, DETERMINED;
}
Run Code Online (Sandbox Code Playgroud)

如何持久化Person及其枚举列表(在此列表中我必须放置可变数量的枚举,可能有其中一个,或两个或全部)

我正在使用Spring和Postgres,实体是使用JPA注释创建的,并使用Hibernate进行管理.

pih*_*agy 1

问问自己,是否PaymentType会随着时间而改变。

我将创建一个@Entity PaymentType只有一个名称的属性,并创建一个@Many2Many介于PaymentType和之间的属性Person

另一种方法:@ElementCollection 参见F​​rom Wikibooks 中的 ElementCollection,这是开放内容的教科书集合