我正在使用 eclipseLink 2.5.1 并通过 persistence.xml 我可以通过使用实体类(使用 @Entity ),这些类列在persistence.xml中。
问题: persistence.xml 中定义的所有类都是在Db中创建表,但我只需要它们的某些类,即eclipseLink应该忽略一些不生成表的类。是否有任何解决方案可以停止在DB中自动生成表格?
注意:并非所有类只需要在DB中创建表时省略某些类。
答案 0 :(得分:0)
JPA 2.1可用于生成和执行脚本以便为您创建表,其中包含以下属性: https://blogs.oracle.com/arungupta/entry/jpa_2_1_schema_generation
然后,您可以生成DDL脚本并编辑出您不想要的create table语句,并让持久性单元在需要时调用此脚本。
另一种方法是创建一个不同的持久性单元,它只包含具有所需表的实体。然后,此持久性单元只能用于创建脚本 - 或者在应用程序中调用以在启动时创建表。
如果您不使用JPA 2.1,则可以访问EclipseLink的本机属性来编写脚本并自行执行:http://www.eclipse.org/eclipselink/documentation/2.4/jpa/extensions/p_ddl_generation.htm#BABHEJJI