簡體   English   中英

Play Framework 1.2.x中的ManyToMany測試治具(Yaml)

[英]ManyToMany Test Fixtures (Yaml) in Play Framework 1.2.x

我正在使用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;
  // ..
}

兩種方式引用是什么意思?

如果您想通過代碼從Salon實體訪問Stylists,那么您將需要具有以下內容:

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條目中聲明相同的名稱)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM