JPA (実装: EclipseLink) と JAXB を使用するのはまだ初めてなので、設計について考えているときに問題が発生します。
次のセットアップがあります(簡略化):
@XmlRootElement
@Entity
@Tabe(name="Packages")
class package {
@Id
@Column(name="p_id")
int id;
String content;
@ManyToOne(fetch = FetchType.LAZY, optional=true)
@JoinColumn(name="s_id", nullable=true, updatable=true)
Store fk_store;
}
@XmlRootElement
@Entity
@Table(name=stores")
class Store {
@Id
@Column(name="s_id")
int id;
@OneToMany (mappedBy="fk_store", fetch=FetchType.LAZY)
List<Package> packagesStored;
}
いくつかのインターネット リソースから、JPA が機能するには関係の両側を維持する必要があることがわかりました。
したがって、ストアにはパッケージのリストが含まれ、パッケージにはストアが含まれます。
RESTfull Web サービスを構築し、パッケージ/ウェアハウスの XML 表現を送信したい場合、これらのアイテムは相互に再帰的に埋め込まれますか?
<package>
<store>
<packagesStored>
<package>
<store>
...
はいの場合、どうすればこれを防ぐことができますか? そうでない場合、なぜですか?...