0

JDBC を使用すると、String を使用してテーブルのスキーマを作成できます。

String sql = "CREATE TABLE REGISTRATION " +
               "(id INTEGER not NULL, " +
               " first VARCHAR(255), " + 
               " last VARCHAR(255), " + 
               " age INTEGER, " + 
               " PRIMARY KEY ( id ))"; 
stmt = conn.createStatement();
stmt.executeUpdate(sql);

文字列を使用してJPA2でテーブルを指定する方法はありますか?

編集:

これが明確でない場合:@Entityテーブルを表すクラスを作成する代わりに意味します。Stringのように使いたいですJDBC

4

2 に答える 2

1

いいえ。JPA は、テーブル (または非リレーショナル データベース内の対応するもの) を定義する方法を提供しません。

JPA は、エンティティ クラスを通じてデータ編成の仕様を処理します。データをモデル化するクラスを記述して注釈を付けます。次に、JPA プロバイダーは、基になるストアをエンティティに一致するように設定する手段を提供する場合がありますが、これは標準化されていません。

于 2012-12-30T02:47:04.257 に答える
0

コードでこれを行うことができるかどうかはわかりません。存在しない場合、テーブルを作成できません。ほとんどのアプリケーションは、既存のデータベースを使用します。

スキーマを作成できる eclipseLink (使用する場合) を使用できます。この機能を有効にする方法については、このページEclipseLink/Examples/JPA/DDLを参照してください。

で指定する必要があるのは次のとおりです。persistence.xml

<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
<property name="eclipselink.create-ddl-jdbc-file-name"
     value="createDDL_ddlGeneration.jdbc"/>
<property name="eclipselink.drop-ddl-jdbc-file-name" 
       value="dropDDL_ddlGeneration.jdbc"/>
于 2012-12-30T02:41:30.547 に答える