我将当前的persistence.xml表生成策略设置为创建。这保证了我的应用程序的每个新安装都会得到这些表,但这也意味着每次启动它的应用程序都会受到eclipselink异常的影响,试图创建已经存在的表。 我希望的策略是只在他们不在时创建表格。对我来说,实现这个的一种方法是检查数据库文件,如果不使用不存在创建表:我可以实施if-new-create JPA策略吗?
ServerSession session = em.unwrap(ServerSession.class);
SchemaManager schemaManager = new SchemaManager(session);
schemaManager.createDefaultTables(true);
但有一个清洁的解决方案?可能是一种尝试抓住的方式?对于我来说,在catch执行上面的代码时,用try-catch来保护每个数据库方法是个错误,但我期望它是一个可以配置emf的属性。