0

XMLTypeの列を持つOracleデータベースがあります。そのためにDescriptorCustomizerを実装し、エンティティのフィールドタイプとしてXMLTypeを使用しています。

基本的に私は持っています:

@Entity
@Customizer(XmlCustomizer.class) 
public class ...... {
    .....
private XMLType xmlColumn;
    .....
}

これはすべて、データベースからデータを読み取るのに最適です。しかし、データを永続化することになると、私は何をすべきかわかりません。xmlを含むXMLTypeオブジェクトを作成する簡単な方法が見つかりませんでした。ほとんどのメソッドは、かなり醜い接続を要求しているようです。それで、私が見逃している、または誤解しているのは何ですか?

ありがとう。

編集:私はそれがXMLTypeで動作していることを言及するのを忘れましたが、私が言ったように、EntityManagerから取得できるデータベースへの接続を渡す必要があります。でも醜いようです。

4

2 に答える 2

0

XMLTypeはOracleJDBCタイプであるため、オブジェクトに最適なタイプのフィールドではない可能性があります。

代わりに、文字列またはDOMドキュメントにマップしてから、書き込むことができます。

于 2012-07-03T13:16:49.357 に答える
0

最新のEclipseLink(2.4)は、カスタマイザーを必要とせずにXMLTypeを直接Stringに変換するようです。

于 2012-12-07T22:00:43.683 に答える