-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 
Author Message
 Post subject: EJB Persistence no longer working
PostPosted: Mon Nov 27, 2006 5:11 pm 
Newbie

Joined: Mon Nov 27, 2006 5:05 pm
Posts: 4
I had some code that was working with the older version of hibernate. I was essentially using the JPA native calls for most things, and hibernate as my entity manager implementation.

However now that I have upgraded my code give me a null pointer exception on the following line.

Here's the code:

public AXMPersistenceHandler(String persistentUnit)
{
Ejb3Configuration cfg = new Ejb3Configuration();

Properties propertyMap = new Properties();

DatabasePreferences dbPrefs = (DatabasePreferences)BeanUtils.readBeanFromPrefs(AcesxConfig.class,AcesxConfig.DB_PREFS.getKey());
propertyMap = BeanUtils.beanToProperties(dbPrefs);
// Setting for hibernate and ant task

propertyMap.put("hibernate.connection.driver_class", dbPrefs.getDriver());
propertyMap.put("hibernate.connection.password", dbPrefs.getPassword());
propertyMap.put("hibernate.connection.url", "jdbc:mysql://" + dbPrefs.getHost() + "/" + dbPrefs.getDatabase());
propertyMap.put("hibernate.connection.username", dbPrefs.getUsername());

//Run ant to createDB
String binDir = System.getProperty(AxmConstants.BIN_DIR.toString());
AcesxAntRunner.runTarget(BIN_DIR, CREATE_AXM_DB, propertyMap, System.out);

// Hibernate only
propertyMap.put("hibernate.dialect",
"org.hibernate.dialect.MySQLDialect");
propertyMap.put("hibernate.show_sql", "false");
propertyMap.put("hibernate.hbm2ddl.auto", "update");

/*******************************************************/
// ERROR IS HERE
entityManagerFactory = Persistence.createEntityManagerFactory("AXM", propertyMap);
/*******************************************************/
entityManager = entityManagerFactory.createEntityManager(propertyMap);
eJBQueryFactory = new EJBQueryFactory(this);

}

Here's the exception:
[java] Exception in thread "AWT-EventQueue-0" javax.persistence.PersistenceException: java.lang.NullPointerException
[java] at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:247)
[java] at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:120)
[java] at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:37)
[java] at gov.nasa.acesx.app.manager.jpa.axm.dao.AXMPersistenceHandler.<init>(AXMPersistenceHandler.java:58)
[java] at gov.nasa.acesx.app.manager.jpa.PersistenceHandlerFactory.getAXMPersistenceHandler(PersistenceHandlerFactory.java:36)
[java] at gov.nasa.acesx.app.manager.ui.AXM$8.run(AXM.java:1274)
[java] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
[java] at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:247)
[java] at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:120)
[java] at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:37)
[java] at gov.nasa.acesx.app.manager.jpa.axm.dao.AXMPersistenceHandler.<init>(AXMPersistenceHandler.java:58)
[java] at gov.nasa.acesx.app.manager.jpa.PersistenceHandlerFactory.getAXMPersistenceHandler(PersistenceHandlerFactory.java:36)
[java] at gov.nasa.acesx.app.manager.ui.AXM$8.run(AXM.java:1274)
[java] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
[java] at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
[java] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
[java] at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
[java] Caused by: java.lang.NullPointerException
[java] at org.hibernate.cfg.AnnotationConfiguration.orderAndFillHierarchy(AnnotationConfiguration.java:79)
[java] at org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType(AnnotationConfiguration.java:288)
[java] at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:216)
[java] at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1112)
[java] at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1211)
[java] at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:154)
[java] at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:847)
[java] at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:178)
[java] at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:235)
[java] ... 12 more

LD SUCCESSFUL
al time: 9 seconds


Top
 Profile  
 
 Post subject:
PostPosted: Tue Nov 28, 2006 5:26 am 
Regular
Regular

Joined: Sat May 20, 2006 3:49 am
Posts: 78
I make it that way:
Code:
//First create the EJB3 Configuration
Ejb3Configuration config = new Ejb3Configuration();

//set the properties of my configuration
config.setProperties(p);

//add all POJOs to the configuration
ArrayList<Class> classes = (ArrayList<Class>)getPOJOs();
            for (Class c : classes) {
                config.addAnnotatedClass(c);
            }

//build the entityManagerFactory from  my ready config
EntityManagerFactory factory =
                (EntityManagerFactory)config.createEntityManagerFactory();


what I don't understand from your code:
1) You build a propertyMap, but doesn't use it anywhere
2) You get your EntityManagerFactory from the Persistence. What is Persistence?


Top
 Profile  
 
 Post subject: please help
PostPosted: Tue Nov 28, 2006 11:03 am 
Newbie

Joined: Mon Nov 27, 2006 5:05 pm
Posts: 4
Ok here is all of the output from log4j when I turn on debug. It doesn't appear to have anything wrong, but if someone notices something it would be a great help.


C:\EclipseWorkspaces\ACES-X\build\bin>axm
Searching for build.xml ...
Buildfile: C:\EclipseWorkspaces\ACES-X\build\bin\build.xml

run_axm:
[java] org.xml.sax.SAXParseException: XML document structures must start and end within the same entity.
[java] Continuing ...
[java] org.xml.sax.SAXParseException: XML document structures must start and end within the same entity.
[java] Continuing ...
[java] running target: create.axm.db
[java] hibernate.connection.driver_class / com.mysql.jdbc.Driver
[java] showNext / false
[java] port / 3306
[java] username / aces
[java] hibernate.connection.username / aces
[java] hibernate.connection.url / jdbc:mysql://127.0.0.1/axm
[java] hibernate.connection.password / aces
[java] database / axm
[java] password / aces
[java] driver / com.mysql.jdbc.Driver
[java] host / 127.0.0.1

[java] create.axm.db:
[java] [sql] Executing commands
[java] [sql] 1 of 1 SQL statements executed successfully

[java] BUILD SUCCESSFUL
[java] Total time: 1 second
[java] 0 INFO org.hibernate.ejb.Version -- Hibernate EntityManager 3.2.0.GA
[java] 47 INFO org.hibernate.cfg.Environment -- Hibernate 3.2.1
[java] 63 INFO org.hibernate.cfg.Environment -- hibernate.properties not found
[java] 63 INFO org.hibernate.cfg.Environment -- Bytecode provider name : cglib
[java] 63 INFO org.hibernate.cfg.Environment -- using JDK 1.4 java.sql.Timestamp handling
[java] 234 DEBUG org.hibernate.ejb.Ejb3Configuration -- Look up for persistence unit: AXM
[java] 234 DEBUG org.hibernate.ejb.Ejb3Configuration -- Analyse of persistence.xml: file:/C:/EclipseWorkspaces/ACES-X/build/data/META-INF/persistence.xml
[java] 672 DEBUG org.hibernate.util.DTDEntityResolver -- trying to resolve system-id [http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd]
[java] 672 DEBUG org.hibernate.cfg.EJB3DTDEntityResolver -- recognized EJB3 ORM namespace; attempting to resolve on classpath under org/hibernate/ejb
[java] 672 DEBUG org.hibernate.cfg.EJB3DTDEntityResolver -- located [http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd] in classpath
[java] 828 DEBUG org.hibernate.ejb.packaging.PersistenceXmlLoader -- Persistent Unit name from persistence.xml: acesx_model_input
[java] 828 DEBUG org.hibernate.ejb.packaging.PersistenceXmlLoader -- Persistent Unit name from persistence.xml: AXM
[java] 828 DEBUG org.hibernate.ejb.Ejb3Configuration -- PersistenceMetadata [
[java] name: acesx_model_input
[java] jtaDataSource: null
[java] nonJtaDataSource: null
[java] transactionType: RESOURCE_LOCAL
[java] provider: org.hibernate.ejb.HibernatePersistence
[java] classes[
[java] gov.nasa.acesx.common.flight.Aircraft gov.nasa.acesx.common.flight.EngineType gov.nasa.acesx.common.flight.SeparationCategory gov.nasa.acesx.nasentity.tap.Airport gov.nasa.acesx.nasentity.t
ap.DefaultFix gov.nasa.acesx.nasentity.tap.DetailedFix gov.nasa.acesx.nasentity.tap.DetailedFixId gov.nasa.acesx.nasentity.tap.DetailedRunway gov.nasa.acesx.nasentity.tap.DetailedRunwayId go
v.nasa.acesx.nasentity.tap.DetailedRunwayFixLinkage gov.nasa.acesx.nasentity.tap.DetailedRunwayFixLinkageId gov.nasa.acesx.nasentity.tap.DetailedRunwayParameter gov.nasa.acesx.nasentity.tap.DetailedRunwayParameterId
gov.nasa.acesx.nasentity.tap.TerminalAirspace ]
[java] packages[
[java] ]
[java] mappingFiles[
[java] ]
[java] jarFiles[
[java] ]
[java] hbmfiles: 0
[java] properties[
[java] hibernate.connection.driver_class: com.mysql.jdbc.Driver
[java] showNext: false
[java] port: 3306
[java] hibernate.dialect: org.hibernate.dialect.MySQLDialect
[java] username: aces
[java] hibernate.connection.username: aces
[java] hibernate.hbm2ddl.auto: update
[java] hibernate.connection.url: jdbc:mysql://127.0.0.1/axm
[java] password: aces
[java] database: axm
[java] hibernate.show_sql: false
[java] hibernate.connection.password: aces
[java] host: 127.0.0.1
[java] driver: com.mysql.jdbc.Driver
[java] ]]
[java] 844 DEBUG org.hibernate.ejb.Ejb3Configuration -- Detect class: true; detect hbm: true
[java] 859 DEBUG org.hibernate.ejb.packaging.JarVisitor -- Searching mapped entities in jar/par: file:/C:/EclipseWorkspaces/ACES-X/build/data
[java] 859 DEBUG org.hibernate.ejb.Ejb3Configuration -- PersistenceMetadata [
[java] name: AXM
[java] jtaDataSource: null
[java] nonJtaDataSource: null
[java] transactionType: RESOURCE_LOCAL
[java] provider: org.hibernate.ejb.HibernatePersistence
[java] classes[
[java] gov.nasa.acesx.app.manager.jpa.axm.AcesxManagerData gov.nasa.acesx.app.manager.jpa.axm.AcesxContainer gov.nasa.acesx.app.manager.jpa.axm.AcesxManagerData gov.nasa.acesx.app.manager.jpa.axm
.Assignment gov.nasa.acesx.app.manager.jpa.axm.BiDirectionalPersistentData gov.nasa.acesx.app.manager.jpa.axm.ContainerAssignment gov.nasa.acesx.app.manager.jpa.axm.DataFile gov.nasa.acesx.app.manager.jpa.axm
.Job gov.nasa.acesx.app.manager.jpa.axm.LDCConfig gov.nasa.acesx.app.manager.jpa.axm.RunConfiguration gov.nasa.acesx.app.manager.jpa.axm.RunConfigurationFile gov.nasa.acesx.app.manager.jpa.axm.RunConfiguratio
nVariable gov.nasa.acesx.app.manager.jpa.axm.ScheduledJob ]
[java] packages[
[java] ]
[java] mappingFiles[
[java] ]
[java] jarFiles[
[java] ]
[java] hbmfiles: 0
[java] properties[
[java] hibernate.connection.driver_class: com.mysql.jdbc.Driver
[java] showNext: false
[java] port: 3306
[java] hibernate.dialect: org.hibernate.dialect.MySQLDialect
[java] username: aces
[java] hibernate.connection.username: aces
[java] hibernate.hbm2ddl.auto: update
[java] hibernate.connection.url: jdbc:mysql://127.0.0.1/axm
[java] password: aces
[java] database: axm
[java] hibernate.connection.password: aces
[java] hibernate.show_sql: false
[java] host: 127.0.0.1
[java] driver: com.mysql.jdbc.Driver
[java] ]]
[java] 875 DEBUG org.hibernate.ejb.Ejb3Configuration -- Detect class: true; detect hbm: true
[java] 875 DEBUG org.hibernate.ejb.packaging.JarVisitor -- Searching mapped entities in jar/par: file:/C:/EclipseWorkspaces/ACES-X/build/data
[java] 953 DEBUG org.hibernate.ejb.Ejb3Configuration -- Detect class: true; detect hbm: true
[java] 953 DEBUG org.hibernate.ejb.Ejb3Configuration -- Creating Factory: AXM
[java] 1063 DEBUG org.hibernate.cfg.AnnotationConfiguration -- Execute first pass mapping processing
[java] 1063 DEBUG org.hibernate.cfg.AnnotationConfiguration -- Process hbm files
[java] 1063 DEBUG org.hibernate.cfg.AnnotationConfiguration -- Process annotated classes
[java] Exception in thread "AWT-EventQueue-0" javax.persistence.PersistenceException: java.lang.NullPointerException
[java] at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:247)
[java] at org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:120)
[java] at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:37)
[java] at gov.nasa.acesx.app.manager.jpa.axm.dao.AXMPersistenceHandler.<init>(AXMPersistenceHandler.java:58)
[java] at gov.nasa.acesx.app.manager.jpa.PersistenceHandlerFactory.getAXMPersistenceHandler(PersistenceHandlerFactory.java:36)
[java] at gov.nasa.acesx.app.manager.ui.AXM$8.run(AXM.java:1274)
[java] at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
[java] at java.awt.EventQueue.dispatchEvent(EventQueue.java:461)
[java] at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242)
[java] at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
[java] at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
[java] at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
[java] Caused by: java.lang.NullPointerException
[java] at org.hibernate.cfg.AnnotationConfiguration.orderAndFillHierarchy(AnnotationConfiguration.java:79)
[java] at org.hibernate.cfg.AnnotationConfiguration.processArtifactsOfType(AnnotationConfiguration.java:288)
[java] at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:216)
[java] at org.hibernate.cfg.Configuration.buildMappings(Configuration.java:1112)
[java] at org.hibernate.ejb.Ejb3Configuration.buildMappings(Ejb3Configuration.java:1211)
[java] at org.hibernate.ejb.EventListenerConfigurator.configure(EventListenerConfigurator.java:154)
[java] at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:847)
[java] at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:178)
[java] at org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:235)
[java] ... 12 more

BUILD SUCCESSFUL
Total time: 8 seconds
C:\EclipseWorkspaces\ACES-X\build\bin>


Top
 Profile  
 
 Post subject:
PostPosted: Mon Dec 04, 2006 4:57 pm 
Hibernate Team
Hibernate Team

Joined: Sun Sep 14, 2003 3:54 am
Posts: 7256
Location: Paris, France
Can yuou post a minimal runnable test case reproducing the issue to JIRA, thanks

_________________
Emmanuel


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.