是否可以在我的数据库中加载初始数据?
我正在使用JPA并使用Drop and Create策略,这样每次我想测试我的应用程序时,数据库首先被清除,我将不得不重新创建所有内容。
我知道其他语言(Php - > Doctrine datafixtures,C# - > Context)可以在持久化类之后加载初始数据。
但是我尝试在java中搜索这样的功能,但我找不到一个好方法。我已经在stackoverflow中找到了几个关于此的主题,但它们似乎都没有一个好的答案。我使用的是java桌面应用程序(不是spring)
答案 0 :(得分:15)
这是完全可能的。您的JPA实现应该有一些机制来为drop和/或create阶段注册脚本。以下是一些例子:
持久性:来源:http://docs.oracle.com/javaee/7/tutorial/persistence-intro005.htm
<property name="javax.persistence.sql-load-script-source" value="META-INF/createDDL_ddlGeneration.sql" />
如果您只需要进行测试,也可以在设置方法中预填充数据库。但显然那不再是JPA机制了。