少数の多対 1 および 1 対多のテーブル関係を持つデータベースを利用するアプリケーションを作成しています。Eclipse で JBOSS ツールを使用してデータベースをリバース エンジニアリングし、POJO を作成しました。外部キー関係のゲッターとセッターは次のようになります。
@OneToMany(fetch = FetchType.LAZY, mappedBy = "users")
@LazyCollection(LazyCollectionOption.EXTRA)
public Set<Layouts> getLayoutses() {
return this.layoutses;
}
public void setLayoutses(Set<Layouts> layoutses) {
this.layoutses = layoutses;
}
これらの場合のセットは、空の HashSet か、データベース内の別のテーブルを表す POJO で満たされた HashSet のいずれかです。
問題は、変換プロセスが Set プロパティで停止することです。javax.xml.transform.TransformerException: Error transforming result
FetchType を「LAZY」のままにするとメッセージが表示され、「EAGER」に変更するとエラー メッセージは表示されませんが、Struts2 からの応答もありません (ブラウザーは永遠にロードし続けます) 。Set ゲッターを「public」ではなく「protected」または「private」に変更すると、結果セットにこれらのプロパティが含まれないという事実を除いて、すべて問題なく機能します。
私が読んだすべてのことは、Struts2 がセットを処理できるはずであることを示しているようですが、私が見つけた唯一の Struts2/Hibernate 統合の例は、マップされた外部キー関係を含まない非常に単純なデータを処理しています。
Struts2 xslt の結果の型を Hibernate の永続化オブジェクトとうまく連携させるにはどうすればよいですか?