は、次のようにだから私はこの関係をマッピングし@OneToMany
関係product
間とproductReview
ありますが、私は製品のfindAll()
メソッドを呼び出したときに、それは私にBad String
の誤差を与えます私は@OneToMany
関係を削除したときに、私は問題が何であるかを把握カント、それは完全に@OneToManyマッピングは、私は私の製品クラスに春のフレームワークを使用しています
@Entity
@Table(name="products")
public class Product implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@SequenceGenerator(name="SEQ_PRODUCTS", sequenceName="PRODUCTS_SEQ", allocationSize=1)
@GeneratedValue(strategy=GenerationType.SEQUENCE, generator="SEQ_PRODUCTS")
private Long id;
@NotEmpty
@Column(name="NAME", nullable=false)
private String name;
@ManyToMany
private List<ProductImages> productImages;
@OneToMany(mappedBy="product",targetEntity=ProductReview.class,fetch = FetchType.EAGER,cascade = CascadeType.ALL)
private List <ProductReview> productReviews;
..... Getter and setter of above fields
}
Product.javaを実行します
ProductReview.class
@Entity
public class ProductReview implements Serializable {
private static final long serialVersionUID = 1L;
@GeneratedValue(strategy=GenerationType.AUTO)
@Id
private Long id;
private String title;
private String message;
private Double rating;
@ManyToOne
private Product product;
..... Getter and setter
}
API:http://localhost:8080/api/products
応答:バッド文字列
遅延読み込み機能を追加してみます。 – Sandeep
@FirzaAhmedあなたがもっと情報が必要な場合は、コンソールで例外を取得する必要があります。しかし、ここでの主な問題は、おそらくジャクソンが他のヘルパー情報なしで解決できない何らかの再帰的な関係を得るということです。したがって、注釈やカスタムシリアライザを設定してください。もう一つの選択肢は、 'List productReviews'を持つべきポイントがないように、あなたのプログラムで使わないリレーションの一部を削除することです。 –
varren