Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

EclipseLink/Examples/JPA/Derby

Running EclipseLink on the Derby Database

  • 20110127: update for new Pagination and Sequencing support for Derby 10.6 - 10.7 submitted in bug# 323897 and 335464
  • Running EclipseLink on derby has several advantages including ease of installation and small footprint for rapid development - and the fact that it is also open source like EclipseLink.
  • This tutorial is currently working with Derby 10.5.3.0.

Embedded Derby Driver VS Derby Client

Retrofitting an existing Java SE application to use Derby

WebLogic Server Console configuration

Weblogic derby jta datasource setup.JPG

EE persistence.xml

<persistence version="1.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_1_0.xsd">
    <persistence-unit name="example" transaction-type="JTA">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <jta-data-source>localJTA</jta-data-source>
        <!-- optional --><class>org.eclipse.persistence.example.business.Cell</class>
        <properties>
            <!-- optional --><property name="eclipselink.target-database" 
                      value="org.eclipse.persistence.platform.database.DerbyPlatform"/>
            <property name="eclipselink.target-server" value="WebLogic_10"/>
            <property name="eclipselink.logging.level" value="FINEST"/>
        </properties>       
    </persistence-unit>
</persistence>

SE persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.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_1_0.xsd">
  <persistence-unit name="dao.create.tables.derby" transaction-type="RESOURCE_LOCAL">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <class>org.eclipse.persistence.example.jpa.server.business.Cell</class>
    <properties>
      <property name="eclipselink.target-database" value="Derby"/>            
      <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
      <property name="javax.persistence.jdbc.url" value="jdbc:derby://localhost:1527/weblogic;create=true"/>
      <property name="javax.persistence.jdbc.user" value="APP"/>
      <property name="javax.persistence.jdbc.password" value="APP"/>
      <property name="eclipselink.logging.level" value="ALL"/>            
      <property name="eclipselink.ddl-generation" value="drop-and-create-tables"/>
      <property name="eclipselink.ddl-generation.output-mode" value="database"/>
    </properties>
  </persistence-unit>
</persistence>

Add derby jars

  • SE: Add derbyclient.jar to the application classpath
  • EE: Add derby jars to the application server classpath (Example: for WebLogic place in the modules directory)

Console Output

You should see something similar to the following in your System.out output.

[EL Config]: 2010-01-15 12:22:33.343--ServerSession(11625173)--Connection(17876004)--Thread(Thread[main,5,main])--connecting(DatabaseLogin(
	platform=>DerbyPlatform
	user name=> "APP"
	datasource URL=> "jdbc:derby://localhost:1527/weblogic;create=true"
))
[EL Config]: 2010-01-15 12:22:33.678--ServerSession(11625173)--Connection(12376621)--Thread(Thread[main,5,main])--Connected: jdbc:derby://localhost:1527/weblogic;create=true
	User: APP
	Database: Apache Derby  Version: 10.5.3.0 - (802917)
	Driver: Apache Derby Network Client JDBC Driver  Version: 10.5.3.0 - (802917)
[EL Finest]: 2010-01-15 12:22:33.696--ServerSession(11625173)--Thread(Thread[main,5,main])--sequencing connected, state is NoPreallocation_State
[EL Info]: 2010-01-15 12:22:33.76--ServerSession(11625173)--Thread(Thread[main,5,main])--default-session login successful

References

  • Originated 20091113 for Derby 10.5.3.0

Back to the top