从eclipse链接JPA实体创建数据库表

时间:2011-11-14 21:16:46

标签: java jpa heroku

我想将我的Java应用程序部署到Heroku,我正在使用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);
  }
}

1 个答案:

答案 0 :(得分:12)

好的,我明白了。

如果我将以下条目添加到我的persistence.xml

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

然后当我第一次访问一个实体时,如果它已经不在数据库中,那么将创建一个表。