私はxjcを使ってディレクトリを表すモデルクラスを作成しました。 jax-bとjpaで使用するために注釈が付けられています。そのモデルディレクトリので、ディレクトリは、クラスのプロパティの1ので、文書(ファイル)や他のディレクトリの両方を含めることができます:あなたは、私はどちらかのインスタンスできるオブジェクトのリストを持っていることがわかりますJPAを使用してオブジェクトの型を表にマップできますか?
@XmlElements({
@XmlElement(name = "dir", type = Dir.class),
@XmlElement(name = "document", type = Document.class)
})
protected List<Object> dirOrDocument = new ArrayList<>();
DirまたはDocumentクラス。これは、jax-bを使用してXMLにマーシャリングするのに最適ですが、JPAを使用してこれをデータベースに保持したい場合、Objectがinstanceof DirであるかどうかをJPAに伝え、Dirテーブルに書き込みます。オブジェクトがドキュメントのインスタンスである場合、ドキュメントテーブルに書き込みますか?
JPA AttributeConverterを使用してみましたが、あるタイプから別のタイプに変換するように見えるので有望ですが、複数のタイプに変換する必要があります。
おそらく、JAXBとJPAの両方で使用できるモデルを表現する別の方法がありますか?
JAXBとJPAの両方の実装にeclipselinkを使用しています。
私があなたが言及した継承メソッドを試すかもしれないと思います。それはjpaとうまくフィットする自然な解決策のようです。 – cditcher