2016-09-01 10 views
0

私は、Hibernateマッピングについて少し混乱しています。以下のマッピングは、親子関係を確立するかどうか:Hibernate 1から多くのhbmファイルへのマッピング

<many-to-one name="courseId" column="courseid" insert="true" lazy="false"> </many-to-one> 

または

<many-to-one name="courseId" class="com.xxx.client.vo.CourseMasterVO" lazy="false" insert="true" cascade="all"> 
     <column name="courseId_Id" not-null="false" /> 
    </many-to-one> 

を両方が正しい、私は同義的にそれらを使用することができれば、正しいものはどれ1

答えて

1

これらは互換的に使用できます。 column要素は、indexまたはnot-nullという制約のような追加のパラメータを列に追加するだけです。 nameしかない場合は、これをmany-to-one要素のcolumn属性に入れることができます。

コメント:

は、シングルエンド特性に怠惰な属性を持つように注意してください。 Falseはデフォルトです(エンティティとコレクションの遅延に比べて)。この機能は、プロパティを含むクラスがプロキシである場合にのみ動作する、プロパティーに基づく遅延ロードを制御します。

挿入には注意してください。あなたは本当にこれを使用するときに何をしているのか知っているはずです。通常のHibernateの使用法ではありません。特別なケースを回避することは避けてください。

+0

は疑問を解決し、私の知識バンクに貴重な点を追加しました。 – Shaurya

関連する問題