我想将我的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);
}
}
答案 0 :(得分:12)
好的,我明白了。
如果我将以下条目添加到我的persistence.xml
<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
<property name="eclipselink.ddl-generation.output-mode" value="database"/>
然后当我第一次访问一个实体时,如果它已经不在数据库中,那么将创建一个表。