0

Hibernate を使用して、他のテーブルとリレーションを持つテーブルのレコードを保存していますが、サブオブジェクトを保存せずに null 参照を許可する必要があります。

これは状況です: クラス A には関連するオブジェクト b と c があり、A インスタンスを保存するときに、b と c の null 参照を保存したいと考えています。

テーブル構造は次のとおりです。

id (PK) | id_tr_inner_costs | release_id | requirement_id | task_id | hours | total_cost

requirements_id および/または task_id は null にすることができ、この状況ではそのように設定する必要があります。

出来ますか?

ありがとう

4

1 に答える 1

0

保存時に参照が null の場合、Hibernate はこれらの ID を null に設定します。だから、このようなもの:

A instanceOfA = ...;
instanceOfA.setRelease(null);
instanceOfA.setTask(null);
session.save(instanceOfA);

NULLを使用すると、 A テーブルにと の両方release_idを持つ行が作成されるはずですtask_id

これは、Hibernate docsで非常に軽く詳しく説明されています。

コレクションを除いて、組み込みの Hibernate 型はすべて null セマンティクスをサポートします。

つまり、Java で何かが null の場合、データベースでも null になります。

于 2013-03-05T16:40:19.277 に答える