【发布时间】:2016-03-02 07:24:53
【问题描述】:
是否可以在没有自定义属性转换器的情况下序列化一组枚举?
@Entity
public class SomeEntity {
@Id
@GeneratedValue
private Integer id;
private Set<DayOfWeek> days;
}
这组天数必须与 SomeEntity 在同一个表中。
我正在使用 Spring Data JPA 1.9 和 Hibernate 4.3.1。 谢谢。
【问题讨论】:
-
是的。那么当你尝试时会发生什么?
-
我得到这个异常:org.hibernate.MappingException:无法确定类型:java.util.Set,在表:some_entity,列:[org.hibernate.mapping.Column(days) ]
-
我尝试使用 ddl-auto=create 启动应用程序并得到异常。
-
是的,我的意思是“坚持”。我不想编写自定义属性转换器来将 Set
天转换为字符串并返回。 -
@Lob 将明确地 Java 将字段序列化为 1 列。我使用的 JPA 实现甚至不需要它,因为除了将 Java 序列化到单个列中之外,没有其他替代方法可以将其持久化。显然,您可以使用 ElementCollection 将它们放入连接表中
标签: java hibernate jpa orm spring-data