SnakeYaml通过静态方法创建对象

时间:2012-12-13 12:39:39

标签: playframework-2.0 snakeyaml

我正在尝试在Play Framework 2中使用snakeyaml来创建Ebean对象

适用于

!!models.User
  name: Leon

但是我想引用所有已经存在的项目。这意味着我不想创建新对象。

所以,如果我做这样的事情来尝试引用已经创建的组

!!models.Group &mygroup
  id: 1

!!models.User
  group: *mygroup

它会抱怨id为1的组已经存在

Ebean有一个方法EbeanServer.getReference(type, id),可以从模型类的静态find方法访问

Group.find.ref(1)

我希望能够做到这样的事情(但现在不行)

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

如何从snakeyaml调用此静态方法来获取引用而不是新对象?

1 个答案:

答案 0 :(得分:1)

要解决这个问题,我必须创建一个使用Ebean.getServer("default").getReference(models.User.class, 1)

的自定义Yaml构造函数

https://gist.github.com/4326933

希望它会帮助别人!