如何在Play Framework 2.1.x上使用YAML填充ManyToMany关系
作者:互联网
我有以下ManyToMany(双向)关系:
@Entity
public class Proposal extends Model {
...
@ManyToMany
public List<Tag> tags;
}
@Entity
public class Tag extends Model {
...
@ManyToMany(mappedBy="tags")
public List<Proposal> taggedProposals;
}
我想使用yaml文件(稍后使用简单视图显示)使用一些测试数据填充我的数据库.这是我的yaml文件的一部分:
...
- &prop2 !!models.Proposal
id: 2
title: Prop2 title
proposer: *user2
- &prop3 !!models.Proposal
id: 3
title: Prop3 title
proposer: *user3
# Tags
- &tag1 !!models.Tag
name: Tag1 name
desc: Tag1 description
taggedProposals:
- *prop1
- &tag2 !!models.Tag
name: Tag2 name
desc: Tag2 description
taggedProposals:
- *prop2
- *prop3
问题是,当我尝试显示Proposal的标签或Tag的taggedProposals时,ArrayLists是空的!我尝试使用square brackets and commas没有成功.正在加载和显示所有其他数据.
解决方法:
如果Leon Radley发布的答案是准确的,那就不再是这样了!
Play进化了,自2.1版本开始,很多ToMany引用按列表初始化工作(see this link)!有关其工作原理的示例,请参阅User.zones.
zones:
- &zone1 !!models.Zone
id: 1
gtbName: "ZZ01"
- &zone2 !!models.Zone
...
users:
- &user4 !!models.User
id: 4
profile: *profile4
defaultZone: *zone3
zones:
- *zone1
- *zone2
- *zone3
标签:java,yaml,many-to-many,playframework-2-1,ebean 来源: https://codeday.me/bug/20190529/1177108.html