X

JPA 2.1 Implementation - EclipseLink M6 integrated in GlassFish 4 (TOTD #195)

Guest Author
As href="https://blogs.oracle.com/arungupta/entry/jpa_2_1_schema_generation">TOTD
#187 explained, one of the new features in JPA 2.1 is Schema
Generation. It refers to generation of database artifacts like
tables, indexes, and constraints in a database schema. Read href="https://blogs.oracle.com/arungupta/entry/jpa_2_1_schema_generation">TOTD
#187 for more details. This Tip Of The
Day (TOTD) will explain how to use this feature in GlassFish
4.



JPA 2.1 is implemented in EclipseLink and the href="http://wiki.eclipse.org/EclipseLink/Development/JPA_2.1">status
shows that a decent progress is made. href="http://www.eclipse.org/eclipselink/downloads/milestones.php">EclipseLink
Milestone builds shows the dates when milestones are released.
It typically takes a few days for the milestone to be integrated in
GlassFish 4 after the release.



How do you know which milestone is integrated in GlassFish 4 ?



Issue the following commmand in glassfish/modules
directory:
unzip -p org.eclipse.persistence.core.jar META-INF/MANIFEST.MF | grep Bundle-Version

to see an output as:
Bundle-Version: 2.5.0.v20130110-d839ca4

If we break the version string then it shows this is version 2.5.0
and dated 20130110 in the format YYYYMMDD, that would be Jan 10,
2013. Based upon the href="http://www.eclipse.org/eclipselink/downloads/milestones.php">milestone
release dates, this indicates M6 is integrated.



I tried this with the href="http://dlc.sun.com.edgesuite.net/glassfish/4.0/nightly/latest-glassfish.zip">latest
nightly build (dated Jan 18). By the time you read this blog,
a newer version may be integrated and so the version string may look
different.



Now lets see this in action!



The sample code explained below can be href="//cdn.app.compendium.com/uploads/user/e7c690e8-6ff9-102a-ac6d-e4aebca50425/f4a5b21d-66fa-4885-92bf-c4e81c06d916/File/ad1e5b049d13eee2139d541c9478d0be/totd195_schema_gen.zip">downloaded
here and run on href="http://dlc.sun.com.edgesuite.net/glassfish/4.0/nightly/glassfish-4.0-b72-01_17_2013.zip">GlassFish
4 1/17 nightly. A promoted build after this nightly should
work too.



Create an Entity class as:
@Entity
@Table
@NamedQueries({
@NamedQuery(name = "Employee.findAll", query = "SELECT e FROM Employee e")
})
public class Employee implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;

@Column(length=40)
private String name;

This is a simple Employee entity that has two fields id
and name. A trivial @NamedQuery is
defined to retrieve the list of employees.



The associated persistence.xml looks like:


<?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="MyPU" transaction-type="JTA">
<jta-data-source>jdbc/sample</jta-data-source>
<properties>
<property name="javax.persistence.schema-generation-action" value="drop-and-create"/>
<property name="javax.persistence.schema-generation-target" value="database"/>
<property name="eclipselink.deploy-on-startup" value="true"/>
</properties>
</persistence-unit>
</persistence>


Other than the usual elements like <persistence-unit>
and <jta-data-source>, the newly introduced
properties - javax.persistence.schema-generation-action
and javax.persistence.schema-generation-target define
the action and target for the schema generation. The action is to
drop and create the tables. The target defines to perform the action
in the database. These properties control the behavior of schema
generation and their meaning is defined in href="https://blogs.oracle.com/arungupta/entry/jpa_2_1_schema_generation">TOTD
#187. Notice, the third property is EclipseLink specific and
is specified to eagerly initialize the Persistence Unit. This will
ensure that the schema is generated during the application
deployment itself. Otherwise it is generated when the PU is first
accessed.



This will generate the table in the database defined by jdbc/sample
JDBC resource. This resource is pre-defined for JavaDB that is
already bundled with GlassFish 4.



After this, you can write a simple EJB as:


@Stateless
public class EmployeeBean {

@PersistenceContext
EntityManager em;

public void persist(Employee e) {
em.persist(e);
}

public List<Employee> get() {
return em.createNamedQuery("Employee.findAll", Employee.class).getResultList();
}
}


And invoke it from a Servlet as:


for (int i=0; i<5; i++) {
bean.persist(new Employee("Name" + i));
}
for (Employee e : bean.get()) {
out.println(e.getName() + "<br>");
}



A different set of properties may be specified as:


<properties>
<property name="javax.persistence.schema-generation-action" value="drop-and-create"/>
<property name="javax.persistence.schema-generation-target" value="scripts"/>
<property name="javax.persistence.ddl-create-script-target" value="createfoo.sql"/>
<property name="javax.persistence.ddl-drop-script-target" value="dropfoo.sql"/>
<property name="eclipselink.deploy-on-startup" value="true"/>
<property name="eclipselink.application-location" value="/tmp"/>
</properties>

These properties specify the action as
"drop-and-create", i.e. drop and create the tables. The target
specifies the the action to be performed in a script. The *.script-target
property specifies the name of the files for create and drop DDL.
The following scripts are generated:


more /tmp/createfoo.sql 
CREATE TABLE EMPLOYEE (ID INTEGER NOT NULL, NAME VARCHAR(40), PRIMARY KEY (ID))
CREATE TABLE SEQUENCE (SEQ_NAME VARCHAR(50) NOT NULL, SEQ_COUNT DECIMAL(15), PRIMARY KEY (SEQ_NAME))
INSERT INTO SEQUENCE(SEQ_NAME, SEQ_COUNT) values ('SEQ_GEN', 0)
CREATE TABLE SEQUENCE (SEQ_NAME VARCHAR(50) NOT NULL, SEQ_COUNT DECIMAL(15), PRIMARY KEY (SEQ_NAME))
INSERT INTO SEQUENCE(SEQ_NAME, SEQ_COUNT) values ('SEQ_GEN', 0)

more /tmp/dropfoo.sql
DROP TABLE EMPLOYEE
DELETE FROM SEQUENCE WHERE SEQ_NAME = 'SEQ_GEN'



By default, the scripts are generated in glassfish/domains/domain1
directory. In this case, an EclipseLink-specific property to
identify the base location of the generated files is specified.



As href="https://blogs.oracle.com/arungupta/entry/jpa_2_1_schema_generation">TOTD
#187 explains, you can bundle DDL and DML scripts to generate
and populate the database. Are you ready to test drive href="http://jcp.org/en/jsr/detail?id=338">JPA 2.1 implemented
using href="http://wiki.eclipse.org/EclipseLink/Development/2.5.0">EclipseLink
2.5 in href="http://dlc.sun.com.edgesuite.net/glassfish/4.0/">GlassFish 4
?



href="http://download.oracle.com/otndocs/jcp/persistence-2_1-pr-spec/index.html">JPA
2.1 Public Review specification has been available for a few
days now. The Appendix A in the specification provide revision
history in case you want to focus on the newly added features
only.  If you are a JUG member, you may consider href="http://glassfish.java.net/adoptajsr/">adopting this JSR
and provide
feedback
!


Join the discussion

Comments ( 9 )
  • henk Sunday, January 20, 2013

    Cool! But instead of jdbc/sample, why not use the platform default name for that same source? This has been recently added to GlassFish 4 as well if I'm not mistaken.


  • Arun Gupta Wednesday, January 23, 2013

    henk,

    That is true! I scheduled another blog entry to talk about Default DataSource, stay tuned at http://blogs.oracle.com/arungupta.


  • Arun Gupta Wednesday, January 23, 2013
  • Vimal Friday, March 8, 2013

    Hi Arun,

    I am trying this sample with Glassfish build 78 and my project dependency set to javaee-api version 7.0-b78 and I am getting the following error. Can you please take a look at this. Thx Vimal

    WARNING: Local Exception Stack:

    Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.0.v20130226-e0971b1): org.eclipse.persistence.exceptions.DatabaseException

    Internal Exception: java.sql.SQLSyntaxErrorException: Table/View 'SEQUENCE' does not exist.

    Error Code: -1

    Call: UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?

    bind => [2 parameters bound]

    Query: DataModifyQuery(name="SEQUENCE" sql="UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?")

    at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:340)

    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:679)

    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:558)

    at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1979)

    at org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:294)

    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:223)

    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:209)

    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelectCall(DatasourceCallQueryMechanism.java:252)

    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelect(DatasourceCallQueryMechanism.java:232)

    at org.eclipse.persistence.queries.DataModifyQuery.executeDatabaseQuery(DataModifyQuery.java:85)

    at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:899)

    at org.eclipse.persistence.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:3191)

    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1781)

    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1763)

    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1728)

    at org.eclipse.persistence.sequencing.QuerySequence.update(QuerySequence.java:340)

    at org.eclipse.persistence.sequencing.QuerySequence.updateAndSelectSequence(QuerySequence.java:277)

    at org.eclipse.persistence.sequencing.StandardSequence.getGeneratedVector(StandardSequence.java:71)

    at org.eclipse.persistence.sequencing.DefaultSequence.getGeneratedVector(DefaultSequence.java:163)

    at org.eclipse.persistence.sequencing.Sequence.getGeneratedVector(Sequence.java:257)

    at org.eclipse.persistence.internal.sequencing.SequencingManager$Preallocation_Transaction_NoAccessor_State.getNextValue(SequencingManager.java:468)

    at org.eclipse.persistence.internal.sequencing.SequencingManager.getNextValue(SequencingManager.java:1067)

    at org.eclipse.persistence.internal.sequencing.ClientSessionSequencing.getNextValue(ClientSessionSequencing.java:70)

    at org.eclipse.persistence.internal.descriptors.ObjectBuilder.assignSequenceNumber(ObjectBuilder.java:356)

    at org.eclipse.persistence.internal.descriptors.ObjectBuilder.assignSequenceNumber(ObjectBuilder.java:315)

    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.assignSequenceNumber(UnitOfWorkImpl.java:484)

    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNotRegisteredNewObjectForPersist(UnitOfWorkImpl.java:4284)

    at org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.registerNotRegisteredNewObjectForPersist(RepeatableWriteUnitOfWork.java:518)

    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersist(UnitOfWorkImpl.java:4229)

    at org.eclipse.persistence.internal.jpa.EntityManagerImpl.persist(EntityManagerImpl.java:495)

    at com.sun.enterprise.container.common.impl.EntityManagerWrapper.persist(EntityManagerWrapper.java:287)

    at org.sample.schemagen.EmployeeBean.persist(EmployeeBean.java:25)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1038)

    at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1110)

    at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4713)

    at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:630)

    at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)

    at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:582)

    at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:162)

    at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:144)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)

    at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)

    at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)

    at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4685)

    at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4673)

    at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)

    at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)

    at $Proxy324.persist(Unknown Source)

    at org.sample.schemagen.__EJB31_Generated__EmployeeBean__Intf____Bean__.persist(Unknown Source)

    at org.sample.schemagen.TestServlet.processRequest(TestServlet.java:47)

    at org.sample.schemagen.TestServlet.doGet(TestServlet.java:70)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)

    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)

    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)

    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:176)

    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:357)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:260)

    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:188)

    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:164)

    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:175)

    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)

    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:273)

    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)

    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:134)

    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)

    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)

    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:820)

    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)

    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)

    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)

    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)

    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)

    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)

    at java.lang.Thread.run(Thread.java:722)

    Caused by: java.sql.SQLSyntaxErrorException: Table/View 'SEQUENCE' does not exist.

    at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)

    at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)

    at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)

    at com.sun.gjc.spi.base.ConnectionHolder.prepareStatement(ConnectionHolder.java:586)

    at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareCachedStatement(ConnectionWrapper40.java:255)

    at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareCachedStatement(ConnectionWrapper40.java:52)

    at com.sun.gjc.spi.ManagedConnectionImpl.prepareCachedStatement(ManagedConnectionImpl.java:992)

    at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareStatement(ConnectionWrapper40.java:173)

    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1553)

    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1502)

    at org.eclipse.persistence.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:750)

    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:619)

    ... 84 more

    Caused by: org.apache.derby.client.am.SqlException: Table/View 'SEQUENCE' does not exist.

    at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source)

    at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)

    at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)

    at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)

    at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)

    at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)

    at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)

    at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)

    at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)

    at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)

    at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)

    ... 94 more

    WARNING: EJB5184:A system exception occurred during an invocation on EJB EmployeeBean, method: public void org.sample.schemagen.EmployeeBean.persist(org.sample.schemagen.Employee)

    WARNING: javax.ejb.EJBException

    at com.sun.ejb.containers.EJBContainerTransactionManager.processSystemException(EJBContainerTransactionManager.java:748)

    at com.sun.ejb.containers.EJBContainerTransactionManager.completeNewTx(EJBContainerTransactionManager.java:698)

    at com.sun.ejb.containers.EJBContainerTransactionManager.postInvokeTx(EJBContainerTransactionManager.java:503)

    at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4493)

    at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2027)

    at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1997)

    at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:220)

    at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)

    at $Proxy324.persist(Unknown Source)

    at org.sample.schemagen.__EJB31_Generated__EmployeeBean__Intf____Bean__.persist(Unknown Source)

    at org.sample.schemagen.TestServlet.processRequest(TestServlet.java:47)

    at org.sample.schemagen.TestServlet.doGet(TestServlet.java:70)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)

    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)

    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)

    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:176)

    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:357)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:260)

    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:188)

    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:164)

    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:175)

    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)

    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:273)

    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)

    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:134)

    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)

    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)

    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:820)

    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)

    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)

    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)

    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)

    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)

    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)

    at java.lang.Thread.run(Thread.java:722)

    Caused by: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.0.v20130226-e0971b1): org.eclipse.persistence.exceptions.DatabaseException

    Internal Exception: java.sql.SQLSyntaxErrorException: Table/View 'SEQUENCE' does not exist.

    Error Code: -1

    Call: UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?

    bind => [2 parameters bound]

    Query: DataModifyQuery(name="SEQUENCE" sql="UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?")

    at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:340)

    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:679)

    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:558)

    at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1979)

    at org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:294)

    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:223)

    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:209)

    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelectCall(DatasourceCallQueryMechanism.java:252)

    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelect(DatasourceCallQueryMechanism.java:232)

    at org.eclipse.persistence.queries.DataModifyQuery.executeDatabaseQuery(DataModifyQuery.java:85)

    at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:899)

    at org.eclipse.persistence.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:3191)

    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1781)

    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1763)

    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1728)

    at org.eclipse.persistence.sequencing.QuerySequence.update(QuerySequence.java:340)

    at org.eclipse.persistence.sequencing.QuerySequence.updateAndSelectSequence(QuerySequence.java:277)

    at org.eclipse.persistence.sequencing.StandardSequence.getGeneratedVector(StandardSequence.java:71)

    at org.eclipse.persistence.sequencing.DefaultSequence.getGeneratedVector(DefaultSequence.java:163)

    at org.eclipse.persistence.sequencing.Sequence.getGeneratedVector(Sequence.java:257)

    at org.eclipse.persistence.internal.sequencing.SequencingManager$Preallocation_Transaction_NoAccessor_State.getNextValue(SequencingManager.java:468)

    at org.eclipse.persistence.internal.sequencing.SequencingManager.getNextValue(SequencingManager.java:1067)

    at org.eclipse.persistence.internal.sequencing.ClientSessionSequencing.getNextValue(ClientSessionSequencing.java:70)

    at org.eclipse.persistence.internal.descriptors.ObjectBuilder.assignSequenceNumber(ObjectBuilder.java:356)

    at org.eclipse.persistence.internal.descriptors.ObjectBuilder.assignSequenceNumber(ObjectBuilder.java:315)

    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.assignSequenceNumber(UnitOfWorkImpl.java:484)

    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNotRegisteredNewObjectForPersist(UnitOfWorkImpl.java:4284)

    at org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.registerNotRegisteredNewObjectForPersist(RepeatableWriteUnitOfWork.java:518)

    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersist(UnitOfWorkImpl.java:4229)

    at org.eclipse.persistence.internal.jpa.EntityManagerImpl.persist(EntityManagerImpl.java:495)

    at com.sun.enterprise.container.common.impl.EntityManagerWrapper.persist(EntityManagerWrapper.java:287)

    at org.sample.schemagen.EmployeeBean.persist(EmployeeBean.java:25)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1038)

    at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1110)

    at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4713)

    at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:630)

    at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)

    at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:582)

    at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:162)

    at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:144)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)

    at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)

    at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)

    at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4685)

    at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4673)

    at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)

    ... 32 more

    Caused by: java.sql.SQLSyntaxErrorException: Table/View 'SEQUENCE' does not exist.

    at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)

    at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)

    at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)

    at com.sun.gjc.spi.base.ConnectionHolder.prepareStatement(ConnectionHolder.java:586)

    at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareCachedStatement(ConnectionWrapper40.java:255)

    at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareCachedStatement(ConnectionWrapper40.java:52)

    at com.sun.gjc.spi.ManagedConnectionImpl.prepareCachedStatement(ManagedConnectionImpl.java:992)

    at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareStatement(ConnectionWrapper40.java:173)

    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1553)

    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1502)

    at org.eclipse.persistence.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:750)

    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:619)

    ... 84 more

    Caused by: org.apache.derby.client.am.SqlException: Table/View 'SEQUENCE' does not exist.

    at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source)

    at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)

    at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)

    at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)

    at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)

    at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)

    at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)

    at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)

    at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)

    at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)

    at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)

    ... 94 more

    WARNING: StandardWrapperValve[TestServlet]: Servlet.service() for servlet TestServlet threw exception

    javax.ejb.EJBException

    at com.sun.ejb.containers.EJBContainerTransactionManager.processSystemException(EJBContainerTransactionManager.java:748)

    at com.sun.ejb.containers.EJBContainerTransactionManager.completeNewTx(EJBContainerTransactionManager.java:698)

    at com.sun.ejb.containers.EJBContainerTransactionManager.postInvokeTx(EJBContainerTransactionManager.java:503)

    at com.sun.ejb.containers.BaseContainer.postInvokeTx(BaseContainer.java:4493)

    at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:2027)

    at com.sun.ejb.containers.BaseContainer.postInvoke(BaseContainer.java:1997)

    at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:220)

    at com.sun.ejb.containers.EJBLocalObjectInvocationHandlerDelegate.invoke(EJBLocalObjectInvocationHandlerDelegate.java:88)

    at $Proxy324.persist(Unknown Source)

    at org.sample.schemagen.__EJB31_Generated__EmployeeBean__Intf____Bean__.persist(Unknown Source)

    at org.sample.schemagen.TestServlet.processRequest(TestServlet.java:47)

    at org.sample.schemagen.TestServlet.doGet(TestServlet.java:70)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)

    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1682)

    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:318)

    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:160)

    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:734)

    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:673)

    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:176)

    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:357)

    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:260)

    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:188)

    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:164)

    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:175)

    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)

    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:273)

    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:200)

    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:134)

    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)

    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)

    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:820)

    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:113)

    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:115)

    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:55)

    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:135)

    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:564)

    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:544)

    at java.lang.Thread.run(Thread.java:722)

    Caused by: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.0.v20130226-e0971b1): org.eclipse.persistence.exceptions.DatabaseException

    Internal Exception: java.sql.SQLSyntaxErrorException: Table/View 'SEQUENCE' does not exist.

    Error Code: -1

    Call: UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?

    bind => [2 parameters bound]

    Query: DataModifyQuery(name="SEQUENCE" sql="UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?")

    at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:340)

    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:679)

    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:558)

    at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:1979)

    at org.eclipse.persistence.sessions.server.ClientSession.executeCall(ClientSession.java:294)

    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:223)

    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:209)

    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelectCall(DatasourceCallQueryMechanism.java:252)

    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelect(DatasourceCallQueryMechanism.java:232)

    at org.eclipse.persistence.queries.DataModifyQuery.executeDatabaseQuery(DataModifyQuery.java:85)

    at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:899)

    at org.eclipse.persistence.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:3191)

    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1781)

    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1763)

    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1728)

    at org.eclipse.persistence.sequencing.QuerySequence.update(QuerySequence.java:340)

    at org.eclipse.persistence.sequencing.QuerySequence.updateAndSelectSequence(QuerySequence.java:277)

    at org.eclipse.persistence.sequencing.StandardSequence.getGeneratedVector(StandardSequence.java:71)

    at org.eclipse.persistence.sequencing.DefaultSequence.getGeneratedVector(DefaultSequence.java:163)

    at org.eclipse.persistence.sequencing.Sequence.getGeneratedVector(Sequence.java:257)

    at org.eclipse.persistence.internal.sequencing.SequencingManager$Preallocation_Transaction_NoAccessor_State.getNextValue(SequencingManager.java:468)

    at org.eclipse.persistence.internal.sequencing.SequencingManager.getNextValue(SequencingManager.java:1067)

    at org.eclipse.persistence.internal.sequencing.ClientSessionSequencing.getNextValue(ClientSessionSequencing.java:70)

    at org.eclipse.persistence.internal.descriptors.ObjectBuilder.assignSequenceNumber(ObjectBuilder.java:356)

    at org.eclipse.persistence.internal.descriptors.ObjectBuilder.assignSequenceNumber(ObjectBuilder.java:315)

    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.assignSequenceNumber(UnitOfWorkImpl.java:484)

    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNotRegisteredNewObjectForPersist(UnitOfWorkImpl.java:4284)

    at org.eclipse.persistence.internal.sessions.RepeatableWriteUnitOfWork.registerNotRegisteredNewObjectForPersist(RepeatableWriteUnitOfWork.java:518)

    at org.eclipse.persistence.internal.sessions.UnitOfWorkImpl.registerNewObjectForPersist(UnitOfWorkImpl.java:4229)

    at org.eclipse.persistence.internal.jpa.EntityManagerImpl.persist(EntityManagerImpl.java:495)

    at com.sun.enterprise.container.common.impl.EntityManagerWrapper.persist(EntityManagerWrapper.java:287)

    at org.sample.schemagen.EmployeeBean.persist(EmployeeBean.java:25)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at org.glassfish.ejb.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1038)

    at org.glassfish.ejb.security.application.EJBSecurityManager.invoke(EJBSecurityManager.java:1110)

    at com.sun.ejb.containers.BaseContainer.invokeBeanMethod(BaseContainer.java:4713)

    at com.sun.ejb.EjbInvocation.invokeBeanMethod(EjbInvocation.java:630)

    at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)

    at com.sun.ejb.EjbInvocation.proceed(EjbInvocation.java:582)

    at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.doAround(SystemInterceptorProxy.java:162)

    at com.sun.ejb.containers.interceptors.SystemInterceptorProxy.aroundInvoke(SystemInterceptorProxy.java:144)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

    at java.lang.reflect.Method.invoke(Method.java:601)

    at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:883)

    at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:822)

    at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:369)

    at com.sun.ejb.containers.BaseContainer.__intercept(BaseContainer.java:4685)

    at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:4673)

    at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:212)

    ... 32 more

    Caused by: java.sql.SQLSyntaxErrorException: Table/View 'SEQUENCE' does not exist.

    at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)

    at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)

    at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)

    at com.sun.gjc.spi.base.ConnectionHolder.prepareStatement(ConnectionHolder.java:586)

    at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareCachedStatement(ConnectionWrapper40.java:255)

    at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareCachedStatement(ConnectionWrapper40.java:52)

    at com.sun.gjc.spi.ManagedConnectionImpl.prepareCachedStatement(ManagedConnectionImpl.java:992)

    at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareStatement(ConnectionWrapper40.java:173)

    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1553)

    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.prepareStatement(DatabaseAccessor.java:1502)

    at org.eclipse.persistence.internal.databaseaccess.DatabaseCall.prepareStatement(DatabaseCall.java:750)

    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:619)

    ... 84 more

    Caused by: org.apache.derby.client.am.SqlException: Table/View 'SEQUENCE' does not exist.

    at org.apache.derby.client.am.Statement.completeSqlca(Unknown Source)

    at org.apache.derby.client.net.NetStatementReply.parsePrepareError(Unknown Source)

    at org.apache.derby.client.net.NetStatementReply.parsePRPSQLSTTreply(Unknown Source)

    at org.apache.derby.client.net.NetStatementReply.readPrepareDescribeOutput(Unknown Source)

    at org.apache.derby.client.net.StatementReply.readPrepareDescribeOutput(Unknown Source)

    at org.apache.derby.client.net.NetStatement.readPrepareDescribeOutput_(Unknown Source)

    at org.apache.derby.client.am.Statement.readPrepareDescribeOutput(Unknown Source)

    at org.apache.derby.client.am.PreparedStatement.readPrepareDescribeInputOutput(Unknown Source)

    at org.apache.derby.client.am.PreparedStatement.flowPrepareDescribeInputOutput(Unknown Source)

    at org.apache.derby.client.am.PreparedStatement.prepare(Unknown Source)

    at org.apache.derby.client.am.Connection.prepareStatementX(Unknown Source)

    ... 94 more


  • Arun Gupta Saturday, March 9, 2013

    The property values have changed since this integration. The new values look like:

    <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>

    <property name="javax.persistence.schema-generation.create-source" value="script"/>

    <property name="javax.persistence.schema-generation.create-script-source" value="META-INF/create.sql"/>

    <property name="javax.persistence.sql-load-script-source" value="META-INF/load.sql"/>

    I tried them with b78 for a different application and it worked. Can you try them ?


  • Mitesh Tuesday, March 12, 2013

    JPA 2.1 schema generation is now fully integrated into GlassFish. It is not required to specify property "eclipselink.deploy-on-startup"


  • guest Wednesday, August 21, 2013

    Hi Arun,

    I had problem like vimal mentioned in this blog. in JavaDB, it was deleting my table/giving error when i insert record. Then i used MySql database table. It is working fine. but now the strategy is @GeneratedValue(strategy = GenerationType.IDENTITY) and not AUTO.

    And how can i add Hibernate JPA 2 as persistence provider. the drop down in persistence.xml only shows Hibernate JPA 1.0


  • A Wednesday, August 21, 2013
  • Arun Gupta Monday, September 2, 2013

    Guest,

    You'll need to configure Hibernate 2 libraries in NetBeans. Some more details on related topic at:

    http://stackoverflow.com/questions/7808320/jpa-2-0-using-hibernate-as-provider-exception-no-persistence-provider-for-ent


Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.