我遇到了一个简单的场景,我开始用EJB创建一个Java EE应用程序。当我改变了一些EJB的结构时,我认为最简单的方法就是删除Java DB中的表(使用Netbeans接口)。然而,由于应用程序部署,但不再创建任何表,我不知道为什么。
有什么建议如何"调试"这个?在部署时,Netbeans的服务器控制台上根本没有输出(这用于显示未创建表的警告,因为它们已经存在)
我的persistence.xml是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="iDoms-server-ejbPU" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/iDomsServer</jta-data-source>
<exclude-unlisted-classes>false</exclude-unlisted-classes>
<properties>
<property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
</properties>
</persistence-unit>
</persistence>
(GlassFish 3.1和Netbeans 7)
对不起,重新启动Netbeans和一个干净的构建修复了这个问题。