[jboss-user] [Datasource Configuration] - Jndi name of persistence unit (persistence.xml)

Riddick Pu do-not-reply at jboss.com
Mon Jan 24 04:19:23 EST 2011

Riddick Pu [http://community.jboss.org/people/kudlaty15] created the discussion

"Jndi name of persistence unit (persistence.xml)"

To view the discussion, visit: http://community.jboss.org/message/582688#582688

I am using Jboss EJB3/JPA integration to get Hibernate SessionFactory object defined in persistence.xml. I am able to inject SessionFactory to EJB by annotation @PersistenceUnit. But I have to use SessionFactory in one servlet. Here the problems begin. Injection to servlet not working and I cannot use spring injection becouse of the application architecture. Then in jboss logs I saw that automatically server bind SessionFactory described in persistence.xml to JNDI. So I can get SessionFactory object by InitialContext.lookup() and it's work. The problem is in name of the JNDI. Jboss automatically assign unacceptable and ugly name like: INFO [SessionFactoryObjectFactory] Bound factory to JNDI name: persistence.unit:unitName=my_application.ear/my_application-service-1.1.2-JBOSS-SNAPSHOT.jar#hibernateUnitMyApplication. The name is very long and contains for example name and versions of jar and more unnecessary information. The question is HOW I CAN CHANGE THIS NAME? I know that I can use properties like: <property name="jboss.entity.manager.jndi.name" value="java:/Manager1"/> or <property name="jboss.entity.manager.factory.jndi.name" value="java:/Manager1Factory"/> in persistence.xml file to create global JNDI of my persistence unit. This solution is not satisfactory becouse the InitialContext.lookup returns EntityManager object while I want SessionFactory:( Please help:)
On this website You can read about cool Jboss EJB/JPA integration -  http://bill.burkecentral.com/2007/07/06/co-existence-with-hibernate-jpa-and-ejb3 http://bill.burkecentral.com/2007/07/06/co-existence-with-hibernate-jpa-and-ejb3

Correction - I have to use SessionFactory object in POJO:) That POJO class use servlet so getting SessionFactory can be "done at two levels" - servlet or pojo.

Reply to this message by going to Community

Start a new discussion in Datasource Configuration at Community

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jboss-user/attachments/20110124/7e1b0c62/attachment-0001.html 

More information about the jboss-user mailing list