2012-12-13 102 views
3

創建對象我試圖使用snakeyaml有Play框架2創建Ebean對象SnakeYaml通過靜態方法

它運作良好,與

!!models.User 
    name: Leon 

但我想引用媒體鏈接堅持項目。這意味着我不想創建新的對象。

所以,如果我做這樣的事情,試圖引用已創建的組

!!models.Group &mygroup 
    id: 1 

!!models.User 
    group: *mygroup 

它會抱怨與ID組:1已經存在

Ebean具有AA方法EbeanServer.getReference(type, id)這是訪問從模型類的靜態查找方法

Group.find.ref(1) 

我希望能夠做到這樣的事情(但現在不起作用)

!!models.Group.find.ref(1) &mygroup 

如何從snakeyaml中調用此靜態方法來獲取引用而不是新對象?

+0

你看過自定義構造函數嗎?我在這裏有一個(舊)示例: https://github.com/mariussoutier/EOFFixtures/blob/master/Sources/de/soutier/fixtures/yaml/TimestampConstructor.scala –

回答

1

爲了解決這個問題,我不得不創建一個使用Ebean.getServer("default").getReference(models.User.class, 1)

https://gist.github.com/4326933

希望它會幫助別人的自定義YAML構造!