私のIssue
エンティティは、いくつかのフィールド (id など) を持つ DB テーブルから作成されました。各号には、別の DB テーブルに格納されている記事のリストがフィールドとして含まれています。記事にはint issueID
フィールドがあり、適切な問題にマップするために使用されます (issues
テーブルには対応する列はありません): 最終的に、問題オブジェクトが構築されると、問題 ID が一致するすべての記事をプルするようにします。これにより、課題データと記事のリストを表す JSONArray を含む単一のシリアル化されたオブジェクトを返すことができます。
ただし、この時点では、いくつかのテストを行っているだけです。ダミーの Article オブジェクトをいくつか作成し、それらを article コレクションに追加しています。問題は、Issue オブジェクトで GET 要求をテストすると、返された JSONObject にはデータベースに格納されているフィールド (id など) のみが含まれ、Article コレクションの兆候がないことです。何故ですか?
この質問に答えるには、他にどのようなコードを参照する必要があるかを知ることにも同様に興味があります。Web サービスの作成方法を独学で学び始めたばかりで、まだ幅広い概念に頭を悩ませている段階です。どの可動部分がどの動作に影響を与えるか、そしてどの注釈がどこで必要になるかが、最終的に私がやろうとしていることです。
その場合は、幅広いアドバイスを歓迎します。
@Entity
@Table(name = "issues")
@XmlRootElement
public class Issue implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Basic(optional = false)
@NotNull
@Column(name = "id")
private Integer id;
....//other fields
@OneToMany(mappedBy = "issueID")
private Collection<Articles> articlesCollection;
public Issue() {
articlesCollection = new ArrayList<Articles>();
Articles a = new Articles();
a.setHeadline("butt cheese");
articlesCollection.add(a);
Articles b = new Articles();
articlesCollection.add(b);
Articles c = new Articles();
articlesCollection.add(c);
}