• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

EJB3 JPA implementation

 
Ranch Hand
Posts: 119
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I got an ejb3-persistence.jar (52KB) from Hibernate site.
If I only want to use JPA specific API to create a DB access layer, is this jar enough? Do I have to use it with other hibernate jar files?

Is JPA a complete and self-sufficient API (like EJB2.x API) to access DB?
 
Ranch Hand
Posts: 15304
6
Mac OS X IntelliJ IDE Chrome
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
To use JPA you'll need an API that implements it, like Hibernate. To use JPA with Hibernate you'll need the following JAR files (I could be off by one or 2)

antlr
asm
asm-attrs
c3p0
cglib
commons-beanutils
commons-collections
commons-dbcp
commons-lang
commons-pool
dom4j
ejb3-persistence
hibernate-annotations (if using annotations)
hibernate-commons-annotations (if using annotations)
hibernate-entitymanager
hibernate-validator
hibernate3
javassist
jta

Yea, I think that's all.
[ April 23, 2008: Message edited by: Gregg Bolinger ]
 
author and cow tipper
Posts: 5009
1
Hibernate Spring Tomcat Server
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Looks like you're going to be using Hibernate with that ejb3-persistence.jar file of yours.

Gregg is correct, if you want to use JPA, you need a framework that supports it. Here's what you need to support a basic JPA & Hibernate development environment:

* A JDBC compliant Database. (and the ability to perform the most basic of database administration tasks.)
* The JDK 1.5 or better, as annotations didn't exist before Java 5
* JDBC Drivers for your Database -that's how Hibernate connects to your database of choice
* The various jar files and libraries associated with the Hibernate Core and Hibernate Annotations (essentially, you need Hibernate)
* A properly configured hibernate.cfg.xml file on your runtime classpath.

My website has a free tutorial that goes through all of the steps required to set up a JPA and Hibernate environment.

How to Set Up a Hibernate and JPA (Java Persistence API) Environment on Windows

I even go through the installation in this free youtube video.

CBT Video Tutorial on Setting Up a JPA Environment with MySQL & the JDK

Hope that all helps!

-Cameron McKenzie
[ April 23, 2008: Message edited by: Cameron Wallace McKenzie ]
 
Ranch Hand
Posts: 165
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
ejb3-persistence.jar contains only one class (Persistence), four interfaces, several exceptions, and many annotations. It does not have much implementations, and is completely different from EJB2.x API.
Sun has the copyright for the code in ejb3-persistence.jar. JBoss put it in this jar file.

I used Hibernate alone with hibernate3.jar (with some commons jars) before.
It worked fine. We can say JPA is built on top of Hibernate (or Toplink, ...) and JPA API itself is not enough to create a DB access layer.

If your implementation is based on Hibernate EJB3 JPA, your code is not portable to other EJB3 JPA implementations (e.g., Toplink...)
[ April 23, 2008: Message edited by: John King ]
reply
    Bookmark Topic Watch Topic
  • New Topic