私はHibernateが初めてで、少し助けてくれることを願っています。saveOrUpdate() を実行すると、期待した動作が得られません。おそらく、調整が必要なのは私の期待です。
次の saveOrUpdate() を実行しても、Building テーブルは影響を受けません。
Buildings building = new Buildings(bldgInfoArg.getBldgId());
building.setBldgNumber(bldgInfoArg.getBldgNumber());
BuildingInfos bldgInfo = new BuildingInfos(null,
building,
bldgInfoArg.getTblAbbreviation(),
bldgInfoArg.getTblBldgName(),
bldgInfoArg.getTblStreetAddress(),
bldgInfoArg.getTblStateCode(),
bldgInfoArg.getTblZipCode(),
bldgInfoArg.getTblMajorBuilding(),
bldgInfoArg.getTblFirstEffectiveAt(),
bldgInfoArg.getTblLastEffectiveAt(),
bldgInfoArg.getTblCity(),
bldgInfoArg.getTblZipCodeExtension());
bldgInfoSssn.saveOrUpdate(bldgInfo);
建物オブジェクトで Building テーブルを更新する代わりに、BuildingInfo テーブルのみが影響を受けます。もちろん、Building テーブルに対しても saveOrUpdate() を実行できることはわかっていますが、何かが欠けていないことを確認したいだけです。この例では大したことではありませんが、他のケースではもっと煩わしい場合があります。