2011-11-14 9 views
4

私はJavaアプリケーションをHerokuにデプロイしたい、私はEclipseリンクJPAを使用している。Eclipseリンクからデータベーステーブルを作成するJPAエンティティ

これを行うには、Javaを使用してテーブルを作成する必要がありますが、これまでのコードは次のとおりですが、DDLを使用してテーブルを作成するにはどうすればよいですか。私は開発のためにMySQL上でアプリケーションを実行し、Herokuはプロダクション用のPostgresです。したがって、私はcreate tableステートメントがこれを考慮に入れたいと思います。

import javax.persistence.*; 

public class SchemaCreator 
{ 
    public static void main(String[] args) 
    { 
    EntityManagerFactory factory = 
    Persistence.createEntityManagerFactory("bitcoin"); 
    EntityManager em = factory.createEntityManager(); 

    String ddl = /// <--- How do I get it ? 

    em.createNativeQuery(ddl); 
    } 
} 
+0

エンティティに基づくDBテーブルを作成したり、DDLクエリを生成してデータベースを作成したり(他の場所で使用する)したいですか? –

+0

http://stackoverflow.com/questions/779479/reverse-engineer-ddl-from-jpa-entities – madth3

+0

Java実行可能ファイルからテーブルを作成したいと考えています。私はSQL文を手作業でコード化する必要はありません。 –

答えて

12

OK、私はそれを理解しました。

それはテーブルが作成されますdataabseになっていないかどう私は最初のエンティティにアクセスしたとき、私は

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

その後、私のpersistence.xmlに次のentriedを追加した場合。

関連する問題