Java 为数据库更新增强persistence.xml

Java 为数据库更新增强persistence.xml,java,database,persistence,persistence.xml,Java,Database,Persistence,Persistence.xml,为了开发和部署我的WAR应用程序,我使用了拖放和创建功能。基本上删除数据库中的所有内容,然后根据@Entity类自动重新创建所有必要的表和字段 显然,对于生产,拖放和创建功能是毫无疑问的。如何创建数据库表和字段 @Entity类的好处在于,由于OQL和EntityManager的使用,所有的数据库查询都是生成的,因此WAR应用程序独立于数据库。如果我现在必须用SQL手工创建查询,然后让应用程序执行它们,那么我必须决定它们是哪种SQL方言(即MySQL、Oracly、SQL Server等等)。有

为了开发和部署我的WAR应用程序,我使用了
拖放和创建
功能。基本上删除数据库中的所有内容,然后根据@Entity类自动重新创建所有必要的表和字段

显然,对于生产,
拖放和创建
功能是毫无疑问的。如何创建数据库表和字段


@Entity类的好处在于,由于
OQL
EntityManager
的使用,所有的数据库查询都是生成的,因此WAR应用程序独立于数据库。如果我现在必须用SQL手工创建查询,然后让应用程序执行它们,那么我必须决定它们是哪种SQL方言(即MySQL、Oracly、SQL Server等等)。有没有一种方法可以独立地创建数据库表?是否有一种方法可以独立运行结构化数据库更新以及数据库(即数据库版本1到数据库版本2)?比如更改字段或表名、添加表、删除表等?

谢谢@Qwerky提到Liquibase。这绝对是一个解决方案,非常适合我的情况,因为我不再需要担心版本控制。液化酶很容易理解,几分钟内就能学会

对于寻找数据库版本控制/方案设备的任何人:


也许你可以看看LiquibasePosted的答案。谢谢@Querky