1
<hibernate mapping package="org.hibernate.tutorial.domain">

    <class name="Event" table"Events">
       <id name="id" column="EVENT_ID">
          <generator class ="native"/>
       </id>

       <property name="date" type="timestamp" column="EVENT_DATE"/>
       <property name="title"/>

       </class>

</hibernate-mapping>

http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/tutorial.html#tutorial-firstapp hibernate に関するこの記事を読んでいました。

  1. これは初心者向けの最良のガイドですか。
  2. とはgenerator class ="native"どういう意味ですか?
  3. idタグで宣言されたidが、プロパティタグで宣言されたのはなぜですか。
  4. クラスをテーブルにマッピングするためにまだxmlファイルを使用していますか。昔ながらのやり方ですか。
4

3 に答える 3

2
  1. それは非常に主観的な答えです。私はJPAガイドから始めます。
  2. ネイティブとは、データベースに固有の生成方法を使用することを意味します。たとえば、mysql の場合、自動インクリメントが使用されます。オラクルの場合、シーケンスを使用できます。
  3. Hibernate では、各エンティティに ID が必要です。id 要素を使用してマークします。
  4. ほとんどの人は現在、代わりに注釈を使用しています。JPAアノテーションを使用でき、休止状態に縛られないという利点があります。たとえば、ソースへのアクセス権がない Bean をマップするための XML 構成の場所が世界中にあります。
于 2012-06-26T15:10:44.800 に答える
2
  1. おそらく。
  2. これは、Oracle やauto_incrementMySql などのシーケンスのように、データベースの「ネイティブ」ID 方法論を使用することを意味します。
  3. 1 つは ID で、他はプロパティであるためです。
  4. はい。はい。ただし、状況によっては、Hibernate からソースを切り離したい/必要がある場合や、DB 構成を 1 か所に保持する場合 (XML ファイルをソース ファイルではなく単一のディレクトリに配置する場合) にも適しています。
于 2012-06-26T15:06:25.370 に答える
1

質問への回答:

1) これは初心者向けの最良のガイドですか? - これは、休止状態の公式かつ初めてのドキュメントです。私はむしろ「Hibernate in Action」を好みます

2) 休止状態にはいくつかありgeneratorsます。必要に応じて、適切なものを選択する必要があります。基本的には主キーを生成するために使用されます。たとえば、generator="assigned"ie を使用する場合、 を呼び出す前に主キーを手動で割り当てる必要がありますsession.save(entity)nativeこれは、構成で指定したデータベースの方言に基づいて、休止状態が主キーの生成を処理することを意味します。oracle を使用する場合は sequence を使用し、mysql または postgres を使用する場合は auto_increment を使用します。

3) id は主キーを表し、他はプロパティです。これが規則であることを願っています。

4) 古いアプリケーションはまだ xml を使用しています。学習中にxmlから始めてから、それらを注釈に変換することをお勧めします。

于 2012-06-26T15:13:07.370 に答える