嵌入式Glassfish JPA数据源连接失败
我开发了一些单元测试,尝试连接到Derby内部数据库,但得到以下结果: 警告:本地异常堆栈:异常[EclipseLink-4002] (Eclipse持久性服务-2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException内部 异常:java.sql.SQLSyntaxErrorException:表/视图“序列” 不存在。错误代码:20000调用:更新序列集顺序计数 =顺序计数+?其中SEQ_NAME=?bind=>[2个参数绑定]查询:DataModifyQuery(name=“SEQUENCE”sql=“UPDATE SEQUENCE SET SEQ_COUNT=SEQ_COUNT+?其中SEQ_NAME=?)位于 org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:333) 在 org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:644) 在 org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:535) 在 org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1717) 在 org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:253) 在 org.eclipse.persistence.internal.querys.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:207) 在 org.eclipse.persistence.internal.querys.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:193) 在 org.eclipse.persistence.internal.querys.DatasourceCallQueryMechanism.executeNoSelectCall(DatasourceCallQueryMechanism.java:236) 在 org.eclipse.persistence.internal.querys.DatasourceCallQueryMechanism.executeNoSelect(DatasourceCallQueryMechanism.java:216) 在 org.eclipse.persistence.querys.DataModifyQuery.executeDatabaseQuery(DataModifyQuery.java:85) 在 org.eclipse.persistence.querys.DatabaseQuery.execute(DatabaseQuery.java:844) 在 org.eclipse.persistence.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:2831) 在 org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1516) 在 org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1498) 在 org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1463) 在 org.eclipse.persistence.sequencing.QuerySequence.update(QuerySequence.java:340) 在 org.eclipse.persistence.sequencing.QuerySequence.updateAndSelectSequence(QuerySequence.java:277) 在 org.eclipse.persistence.sequencing.StandardSequence.getGeneratedVector(StandardSequence.java:71) 在 org.eclipse.persistence.sequencing.DefaultSequence.getGeneratedVector(DefaultSequence.java:163) 在 org.eclipse.persistence.Sequence.Sequence.getGeneratedVector(Sequence.java:257) 在 org.eclipse.persistence.internal.sequencement.SequencingManager$Preallocation\u Transaction\u NoAccessor\u State.getNextValue(SequencingManager.java:468)位于 org.eclipse.persistence.internal.SequencingManager.getNextValue(SequencingManager.java:1067) 在 org.eclipse.persistence.internal.sequencing.ClientSessionSequencing.getNextValue(ClientSessionSequencing.java:70) 在 org.eclipse.persistence.internal.descriptors.ObjectBuilder.assignSequenceNumber(ObjectBuilder.java:349) 在 org.eclipse.persistence.internal.descriptors.ObjectBuilder.assignSequenceNumber(ObjectBuilder.java:308) 在 org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.assignSequenceNumber(UnitOfWorkImpl.java:465) 在 org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNotRegisteredNewObjectForPersist(UnitOfWorkImpl.java:4231) 在 org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.registerNotRegisteredNewObjectForPersist(RepeatableWriteUnitOfWork.java:513) 在 org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersist(UnitOfWorkImpl.java:4176) 在 org.eclipse.persistence.internal.jpa.EntityManagerImpl.persist(EntityManagerImpl.java:440) 在 com.sun.enterprise.container.common.impl.EntityManagerRapper.persist(EntityManagerRapper.java:269) 在com.thevehiclelist.VehicleEJB.createVehicle(VehicleEJB.java:32)上 位于的sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 位于java.lang.reflect.Method.invoke(Method.java:601) org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1052) 在 org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1124) 在 com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:5388) 在com.sun.ejb.ejbInvokeBeanMethod(ejbInvokeBeanMethod.java:619)上 在 com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:800) 在com.sun.ejb.ejbinavocation.procedure(ejbinavocation.java:571)上 com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:162) 在 com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:144) 位于的sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 位于java.lang.reflect.Method.invoke(Method.java:601) com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:861) 在 com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:800) 在 com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:370) 在 com.sun.ejb。嵌入式Glassfish JPA数据源连接失败,jpa,junit,glassfish,ejb,derby,Jpa,Junit,Glassfish,Ejb,Derby,我开发了一些单元测试,尝试连接到Derby内部数据库,但得到以下结果: 警告:本地异常堆栈:异常[EclipseLink-4002] (Eclipse持久性服务-2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException内部 异常:java.sql.SQLSyntaxErrorException:表/视图“序列” 不存在。错误代码:20000调用:更新序列集顺序计数 =顺序计数+?其中SEQ_NAME
<?xml version="1.0" encoding="UTF-8"?>
<persistence 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"
version="2.0">
<persistence-unit name="carcmsPU" transaction-type="JTA">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>jdbc/__default</jta-data-source>
<class>se.while_se.Book</class>
<class>se.while_se.Car</class>
<class>com.thevehiclelist.Vehicle</class>
<properties>
<property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver" />
<property name="javax.persistence.jdbc.url" value="jdbc:derby:MyTestDb;create=true" />
<property name="javax.persistence.jdbc.user" value="" />
<property name="javax.persistence.jdbc.password" value="" />
<!-- <property name="eclipselink.ddl-generation" value="drop-and-create-tables" /> -->
</properties>
</persistence-unit>
</persistence>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>javax.persistence</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>eclipselink</artifactId>
<version>2.3.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.main.extras</groupId>
<artifactId>glassfish-embedded-all</artifactId>
<version>3.1.2</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.8.2.2</version>
<scope>provided</scope>
</dependency>
</dependencies>
<!-- <property name="eclipselink.ddl-generation" value="drop-and-create-tables" /> -->
<property name="eclipselink.ddl-generation" value="drop-and-create-tables" />