4
是否可以公開使用連接實體(包含額外數據列)的manytomany關係,下面是我的實體;spring-data-rest,與連接表的多對多關係
我試圖讓'購買'顯示在REST中,我把'產品'作爲工作REST映射的一個例子;
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, targetEntity = Purchase.class, orphanRemoval = true)
@JoinColumn(name = "user_id", updatable = false)
private List<Purchase> purchases = new ArrayList<>();
@ManyToMany
@JoinColumn(name = "user_id", updatable = false)
private List<Product> products = new ArrayList<>();
}
@Entity
public class Product {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String name;
}
@Entity
public class Purchase implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Long id;
@ManyToOne
@JoinColumn(name = "user_id", referencedColumnName = "id")
private User user;
@ManyToOne(targetEntity = Prodect.class)
@JoinColumn(name = "product_id", referencedColumnName = "id")
private Product product;
@Column(name = "purchase_date")
private Date purchaseDate;
}
所以,如果我發送REST呼叫;
[GET HTTP://本地主機:8080/web應用/用戶/ 1]
它返回[HTTP://本地主機:8080/web應用/用戶/ 1 /產品]的聯繫,但不是[HTTP :// localhost:8080/webapp/users/1/purchases]
可以提供HTTP的結果://本地主機:8080/web應用/用戶/ 1 –
{ 「_links」:{ 「自我」:{ 的 「href」:「HTTP://本地主機:8080/web應用/用戶/ 1" }, 「產品」:{ 的 「href」: 「HTTP://本地主機:8080/web應用/用戶/ 1 /產品」 } }, 「LASTUPDATED」:1392686385130 「登錄「:」user_login_1「 } – wenic
mmm,無法格式化爲註釋中的代碼? – wenic