Neo4j 忽略枚举
Neo4j ignores Enums
我使用 Neo4j 创建了一个 TSUser 对象,该对象的状态显示用户是否处于活动状态。
当我在 Neo4j 数据库中创建用户时,状态没有显示,就好像它是短暂的一样。
但是,当我在代码中加载用户时(调试时),设置了枚举属性。
我想在 Neo4j 客户端中看到它。
TSUser
看起来像这样:
@NodeEntity
public class TSUser{
private Long id;
private State state;
private String username;
private String email;
//Getter/Setter
}
其中 State
为
public enum State{
ACTIVE, INACTIVE
}
持久化一个 TSUser 后,我用 "MATCH n RETURN n" 在客户端中获取他并得到如图所示的结果。
枚举 State
必须属于提供给 SessionFactory 的包列表。如果没有,则不会被持久化。
您可能在调试模式下看到此值,因为您在同一个会话中,并重新加载实体加载和映射 username
和 email
,但离开 state
单独因为它不存在于图中。
如果您在加载实体之前执行 session.clear()
,您会发现缺少值。
我使用 Neo4j 创建了一个 TSUser 对象,该对象的状态显示用户是否处于活动状态。 当我在 Neo4j 数据库中创建用户时,状态没有显示,就好像它是短暂的一样。 但是,当我在代码中加载用户时(调试时),设置了枚举属性。 我想在 Neo4j 客户端中看到它。
TSUser
看起来像这样:
@NodeEntity
public class TSUser{
private Long id;
private State state;
private String username;
private String email;
//Getter/Setter
}
其中 State
为
public enum State{
ACTIVE, INACTIVE
}
持久化一个 TSUser 后,我用 "MATCH n RETURN n" 在客户端中获取他并得到如图所示的结果。
枚举 State
必须属于提供给 SessionFactory 的包列表。如果没有,则不会被持久化。
您可能在调试模式下看到此值,因为您在同一个会话中,并重新加载实体加载和映射 username
和 email
,但离开 state
单独因为它不存在于图中。
如果您在加载实体之前执行 session.clear()
,您会发现缺少值。