【发布时间】:2014-04-11 15:21:34
【问题描述】:
尝试在 netbeans8 上编写 ejb3 junit 我们使用 weblogic 12c,但我无法获得他们的嵌入式容器,所以放弃并尝试 glassfish
它走得更远,但奇怪的是,即使我的持久性 xml 使用 oracle 设置,它也会触发 derby 并说我的架构/表不存在
我不尝试使用德比
<?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="ACP-warPU" transaction-type="JTA"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> <exclude-unlisted-classes>false</exclude-unlisted-classes> <shared-cache-mode>ALL</shared-cache-mode> <properties> <property name="eclipselink.logging.level" value="FINE"/> <property name="eclipselink.logging.logger" value="ServerLogger"/> <property name="javax.persistence.jdbc.url" value="jdbc:oracle:thin:@localhost:1521:db11g"/> <property name="javax.persistence.jdbc.password" value="spa"/> <property name="javax.persistence.jdbc.driver" value="oracle.jdbc.OracleDriver"/> <property name="javax.persistence.jdbc.user" value="spa"/> </properties> </persistence-unit> </persistence>
Map<String, Object> p = new HashMap<String, Object>();
File[] modules = {
new File("target/test-classes"),
new File("target/classes")
};
p.put(EJBContainer.MODULES, modules);
p.put("org.glassfish.ejb.embedded.glassfish.installation.root", "/target/gfv3");
ejbContainer = EJBContainer.createEJBContainer(p);
ctx = ejbContainer.getContext();
ejbFacade = (AllocnGrpFacade) ctx.lookup("java:global/classes/AllocnGrpFacade");
Caused by: ERROR 42Y07: Schema 'SPA' does not exist
at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getSchemaDescriptor(Unknown Source)
at org.apache.derby.impl.sql.compile.QueryTreeNode.getSchemaDescriptor(Unknown Source)
at org.apache.derby.impl.sql.compile.QueryTreeNode.getSchemaDescriptor(Unknown Source)
at org.apache.derby.impl.sql.compile.FromBaseTable.bindTableDescriptor(Unknown Source)
at org.apache.derby.impl.sql.compile.FromBaseTable.bindNonVTITables(Unknown Source)
at org.apache.derby.impl.sql.compile.FromList.bindTables(Unknown Source)
at org.apache.derby.impl.sql.compile.SelectNode.bindNonVTITables(Unknown Source)
at org.apache.derby.impl.sql.compile.DMLStatementNode.bindTables(Unknown Source)
at org.apache.derby.impl.sql.compile.DMLStatementNode.bind(Unknown Source)
at org.apache.derby.impl.sql.compile.CursorNode.bindStatement(Unknown Source)
at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source)
at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source)
at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown Source)
【问题讨论】:
-
版本信息 - jdk 1.6 , glassfish 3.1.2.2 - java ee 6