4

結合エンティティ (追加のデータ列を含む) を使用する多対多の関係を公開することは可能ですか? 以下は私のエンティティです。

「購入」を 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 呼び出しを送信すると、

[http://localhost:8080/webapp/users/1 を取得]

[http://localhost:8080/webapp/users/1/products] のリンクを返しますが、[http://localhost:8080/webapp/users/1/purchases] のリンクは返しません。

4

1 に答える 1