2017-05-22 12 views
0

私はSpring Boot + JPAを使用してREST Webサービスを設計しました。イベント、住所、EventMemberという2つのエンティティクラスがあります。それらは以下のように定義されます。JPAの多対1関連をフェッチする際の問題

@Entity 
@Table(name="event") 
public class Event { 

    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    private Long id; 
    @Column(name="name") 
    private String name; 
    @Column(name="description") 
    private String description; 
    @JsonFormat(pattern="yyyy-MM-dd") 
    private Timestamp event_date; 
    private boolean is_deleted; 

    @ManyToOne(fetch = FetchType.EAGER, optional = false,cascade=CascadeType.ALL) 
    @JoinColumn(name="address") 
    @JsonBackReference 
    @JsonInclude 
    private Address address; 

    @OneToMany(mappedBy="event") 
    private Set<EventMember> eventMember; 

住所:

@Entity 
@Table(name="address") 
public class Address { 
@Id 
@GeneratedValue(strategy=GenerationType.AUTO) 
private Long id; 
private String short_code; 
private String address1; 
private String address2; 
private String landmark; 
private String zipcode; 
private boolean is_deleted; 

@OneToMany(mappedBy="address",cascade = CascadeType.ALL) 
private Set<Event> event; 

私はEventMemberエンティティに対応するメンバーを取得していますJSON応答でイベントID(主キー)を使用してイベントをフェッチしていますが、アドレスレコードは取得されません。
誰でも私に、イベントメンバーをフェッチしながらアドレスエンティティを取得する方法を教えてください。

コードID

public Address getAddressById(Long id) { 
      return em.find(Address.class, id); 
     } 
+0

からアドレス側をOMMITが期待されています... JPAを介したデータの取得... JSONによるシリアル化検索で問題がどこにあるのかを定義しますか?またはシリアル化で? –

答えて

0

でアドレスを取得するためのはいそれはあなたが@JsonBackReferenceを使用しているので、これはあなたがここに明確な手順を持ってシリアライズ

+0

ここからJSONBackReferenceを削除しました。 StackOverflowerrorがスローされました。イベントオブジェクトのAddressクラスに追加しました。ありがとう@Amer Qarabsa –

関連する問題