我正在玩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;
// ..
}
答案 0 :(得分:2)
双向引用是什么意思?
如果您的意思是希望能够在代码中访问Salon实体中的造型师,那么您将需要具有以下内容:
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而沙龙2应该足够yml(即你不必在两个沙龙yml条目中声明相同)。