3

我正在尝试将snakeyaml 与Play Framework 2 一起使用来创建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 调用这个静态方法来获取引用而不是新对象?

4

1 回答 1

1

为了解决这个问题,我必须创建一个自定义 Yaml 构造函数,它使用Ebean.getServer("default").getReference(models.User.class, 1)

https://gist.github.com/4326933

希望它会帮助别人!

于 2012-12-18T10:40:31.873 回答