2016-04-08 89 views
0

使用Neo4j我創建了一個TSUser對象,其狀態顯示用戶是否處於活動狀態。 當我在Neo4j DB中創建用戶時,不會顯示狀態,就好像它是暫時的。 但是,當我在代碼中加載用戶(在調試過程中)時,enum-attribute被設置。 我想在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 N」 的客戶並且得到的結果顯示在圖片上。 User without state

回答

1

枚舉State必須屬於提供給SessionFactory的包列表。如果不是,它將不會被持續。

你可能會看到在調試模式下此值,因爲你在同一個會話的時候,並重新載入實體負荷和地圖usernameemail,但留下state孤單,因爲它沒有在圖中存在。 如果您在加載實體之前執行session.clear(),則會發現缺少該值。

+0

你是對的。直到現在我才注意到,但是當我重構了包結構時,發生了錯誤。非常感謝,這讓我煩惱幾個小時:) – Urr4