我将 Hibernate 注释和实体管理器 (JPA) 与 HSQLDB 一起使用。所以我有一个带有枚举字段的实体:
@Enumerated(EnumType.STRING)
@Column(name = "access_level")
public AccessLevel getAccessLevel() {
return accessLevel;
}
AccessLevel 是一个枚举。我可以坚持这个,分离,然后查询,一切都应该是这样。但是,一旦我关闭 EntityManagerFactory 并且所有内容都刷新到磁盘然后重新开始,该字段总是出现空值。
当我使用 HSQLDB 管理器查询数据库时,一切都在那里,并且此表中的列包含枚举元素的名称。但是,当我查询时,实体拥有除此字段之外的所有内容始终为空。
我试图避免用户类型的业务并保持简单。让我感到困惑的是,只有在关闭 EntityManagerFactory 之后才会发生这种情况。我可以持久化和分离对象,然后使用其他 EntityManagers 和事务进行合并、查询、查找或其他任何操作,并且正确处理枚举。
任何线索都会有所帮助。