java – Play Framework 1.2.x中的ManyToMany测试夹具(Yaml)
作者:互联网
我正在玩Play! 1.2.4 Morhpia / MongoDB.
我的模特是沙龙和造型师,他们有许多关系.但是,我无法正确定义测试数据来表示此关系.
这就是我所做的
Salon(salon1):
name: salon1
city: singapore
country: singapore
Stylist(stylist1):
firstName: stylist1
lastName: stylist1
title: Stylist 1
price: $100
salons: [salon1]
使用此数据,造型师包含对沙龙的引用,但反之亦然.
如何实现双向引用?
谢谢,
斯里兰卡
这是模型类..
@Entity("salons")
public class Salon extends Model {
// ...
@Reference
@ManyToMany
public List<Stylist> stylists;
// ...
}
@Entity("stylists")
public class Stylist extends Model {
// ..
@Reference
@ManyToMany
public List<Salon> salons;
// ..
}
解决方法:
双向引用是什么意思?
如果您的意思是希望能够在代码中从沙龙实体访问造型师,那么您将需要具有以下内容:
public class Salon extends Model {
@ManyToMany
@JoinTable(name = "salon_stylist", ...)
public List<Stylist> stylists;
...
}
而你的造型师实体可能如下所示:
public class Stylist extends Model {
@ManyToMany
@JoinTable(name = "salon_stylist", ...)
public List<Salon> salons;
...
}
然后你的yml看起来像这样:
Salon(salon1):
name: salon1
city: singapore
country: singapore
Salon(salon2):
name: salon2
city: tokyo
country: japan
Stylist(stylist1):
firstName: stylist1
lastName: stylist1
title: Stylist 1
price: $100
salons:
- salon1
- salon2
只是说stylist1属于salon1和salon2应该足够yml(即你不必在两个沙龙yml条目中声明相同).
标签:java,yaml,playframework,fixtures 来源: https://codeday.me/bug/20190704/1376914.html