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.
EclipseLink/Examples/JPA/Derby
< EclipseLink | Examples | JPA
Contents
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
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