2017-04-26 7 views
1

Order'sは束のProduct'sと数量で構成されています。余分な列を持つ多くのものが1つの行を返すだけです

マイOrderエンティティ:

@Entity(name = "orders") // Select * from order order by... NO! 
public class Order { 
    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private long id; 

    @OneToMany(mappedBy = "product", cascade = ALL, orphanRemoval = true, fetch = EAGER) 
    private List<OrderEntity> orderEntities = new ArrayList<>(); 
... 

次のようにordersproductsとの関係は次のように

@Entity 
public class OrderEntity implements Serializable { 
    @Id 
    @ManyToOne 
    @JsonIgnore 
    private Order order; 

    @Id 
    @ManyToOne(fetch = EAGER) 
    private Product product; 

    private int quantity; 
... 

productは次のとおりです。

@Entity 
public class Product { 
    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private long id; 

    private String name; 
    @OneToMany(mappedBy = "order", cascade = CascadeType.ALL, orphanRemoval = true) 
    private List<OrderEntity> orderEntity; 
... 

問題がときということです私はを選択しますによってそれはid私はorderと関連付けられるいくつかがデータベーステーブルを見ることによって見ることができるけれども私はただOrderEntityを得る。私が間違っていることについて誰でも手掛かりを得ましたか?

答えて

1

mappedByを設定していると思いますが、実際には反対です。

だから、このようにそれを持っている必要があります。

注文:

@Entity(name = "orders") // Select * from order order by... NO! 
public class Order { 

    @OneToMany(mappedBy = "order", cascade = ALL, orphanRemoval = true, fetch = EAGER) 
    private List<OrderEntity> orderEntities = new ArrayList<>(); 

製品:

@Entity 
public class Product { 

    @OneToMany(mappedBy = "product", cascade = CascadeType.ALL, orphanRemoval = true) 
    private List<OrderEntity> orderEntity; 
関連する問題