0

Oracleは、@Entity の作成方法を非常によく説明しています。ただし、実際にテーブルを追加/削除する方法は厳密にはわかりません。バラのインドの説明も好きですが、一般的な考え方を明確にしたいだけです。

CDI を使用した JSF JEE6 アプリの場合、基本的には @Entity クラスを作成し、@Named Bean でいくつかのインスタンスをインスタンス化し、Bean から EntityManager を使用して MySQL データベースに (CRUD 操作を) 書き込むことができますか? Glassfish に付属しているデフォルトの JPA を使用できますか?

始める前に、一般的な考え方を明確にしたいだけです。

4

1 に答える 1

5

一般に、少なくとも 2 つのオプションがあります。

  1. データベース テーブルと参照を作成し、データベース テーブルに基づいてエンティティ クラスを構築します (最新の IDE は、データベース テーブルからエンティティ クラスを自動生成するためのツールを提供します)。

  2. エンティティ クラスを手動で記述し、これらのクラスからデータベースを作成します。JPA プロバイダーは通常、たとえば Eclipselinkの場合に、 persistence.xmlに特別なパラメーターを設定することでこれを許可します。

<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>

既存のすべてのテーブルを削除し、エンティティ クラスから新しいテーブルを作成します (特に開発中に役立ちます)。

<property name="eclipselink.ddl-generation" value="create-tables"/>

既存のテーブルがない場合にのみ、新しいテーブルを作成します。

Glassfish に付属しているデフォルトの JPA を使用できますか?

はい、仕様に基づく機能の場合。

于 2012-04-11T07:08:16.203 に答える