我用的是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]使用这些数据,发型师包含对沙龙的引用,但反之亦然。
如何实现双向参考?
谢谢你,Sri
下面是模型类。
@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;
// ..
}发布于 2012-03-15 06:44:02
你说双向参照是什么意思?
如果您的意思是您希望能够在代码中访问您的沙龙实体中的发型师,那么您将需要这样的内容:
public class Salon extends Model {
@ManyToMany
@JoinTable(name = "salon_stylist", ...)
public List<Stylist> stylists;
...
}您的Stylist实体可以如下所示:
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条目中声明相同的内容)。
https://stackoverflow.com/questions/9715000
复制相似问题