我有以下SDN 4個實體:Neo4j的SDN國際
Decision
,Characteristic
和Value
:
@NodeEntity
public class Value {
private final static String SET_FOR = "SET_FOR";
private final static String SET_ON = "SET_ON";
@Relationship(type = SET_FOR, direction = Relationship.OUTGOING)
private Decision decision;
@Relationship(type = SET_ON, direction = Relationship.OUTGOING)
private Characteristic characteristic;
@Index(unique = false)
private Object value;
private String description;
...
}
我想補充的Value
多語言支持,以便能夠提供任何語言的Value.value
和Value.description
。
您能否請您展示一個適當的方式來實現這與當前架構?
我應該在那裏添加一個額外的節點(與價值節點相關),它將代表每個新語言的值/描述對,或者可以通過在現有價值節點內引入新的語言特定屬性來完成?
感謝您的詳細解答!我需要一段時間才能理解和測試它。我無法將'Value.value'更改爲'String',因爲根據我的業務邏輯,它可以是任何類型。另外,我希望我的用戶能夠提供功能來動態地設置不同的國際化和本地化的消息來描述/價值。爲了做到這一點,SDN是否可以動態使用'MessageDefinitions'進行操作? – alexanoid
恐怕我不明白你的意思是「SDN可以動態操作MessageDefinitions來完成它嗎?」如果您問是否可以使用SDN創建一個映射到底層MessageDefinition的域對象,然後將MessageDefinition作爲應用程序CRUD的一部分操作,那是完全可行的。 –
謝謝埃裏克。是的,你是對的。我在詢問SDN創建映射到底層MessageDefinition的域對象的可能性。現在我不清楚如何處理動態屬性..例如,我可以定義一個聲明en_US屬性的域對象,但後者動態地添加到我的MessageDefinition節點的另一個屬性。讓我們說 - fr_FR。如何處理SDN域實體對象中的這個新屬性,而無需聲明新字段並重新編譯代碼? – alexanoid