0

既存のJavaクラス(Aなど)をテーブルにマップする休止状態のマッピングクラスがあります。Java クラスの属性の 1 つは、hibernate マッピング ファイルの component 属性を使用してマップされる別の Java クラス (AA など) です。クラス AA には、テーブルのプロパティにマップされる属性が 1 つだけあります。そのプロパティがテーブルで空の場合にどうなるか知りたいです。マッピングが実行されているときに、クラス AA のインスタンスが作成され、クラス A の最終オブジェクトに作成されますか? 私のコードでは、インスタンスが作成されておらず、クラス A の属性が null のままであることがわかります。休止状態のマッピング ファイルでパラメータを指定してオブジェクトをインスタンス化する方法はありますか (マッピング プロパティがテーブルで空であっても)。

Java 1.6 と休止状態 3 を使用しています

ありがとう。

4

1 に答える 1

2

休止状態ガイドに基づいて、

The null value semantics of a component are ad hoc. When reloading the containing object, Hibernate will assume that if all component columns are null, then the entire component is null. This is suitable for most purposes. 

しかし、潜在的な回避策として、プロパティにいくつかの SQL 式を追加して、AA インスタンスが確実に作成されるようにすることができます。

于 2012-05-29T16:23:23.507 に答える