Hi there

I created a very simple JPA Entity Project (BiddingTest) involving one bid 
entity (Bidder.java) and one bid client (BidClient.java) from the JPA Project 
Wizard in Eclipse Ganymede and JBoss 4.2.2.GA. I use Hibernate 3.3.1, Hibernate 
Annotations 3.4 and Hibernate Entity Manager 3.4.

My BiddingTestEAR was built and deployed succesfully by the JBoss Server and I 
checked in my OracleXE db and found out that it had successfully managed to 
create the BIDDER table.

However my problem occurs when I try to populate this BIDDER table from a JPA 
Test Client. The JPA Test Client keeps giving me the exception :

javax.persistence.PersistenceException: [PersistenceUnit: BiddingTest] Unable 
to build EntityManagerFactory

and 

Caused by: org.hibernate.HibernateException: Could not find datasource

and 

Caused by: javax.naming.NoInitialContextException: Need to specify class name 
in environment or system property, or as an applet parameter, or in an 
application resource file:  java.naming.factory.initial.


Here is my console output:


  | [BidClient] : creating EntityManagerFactory...
  | log4j:WARN No appenders could be found for logger 
(org.hibernate.cfg.annotations.Version).
  | log4j:WARN Please initialize the log4j system properly.
  | javax.persistence.PersistenceException: [PersistenceUnit: BiddingTest] 
Unable to build EntityManagerFactory
  |     at 
org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:677)
  |     at 
org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory(HibernatePersistence.java:126)
  |     at 
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:52)
  |     at 
javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:34)
  |     at Main.main(Main.java:43)
  | Caused by: org.hibernate.HibernateException: Could not find datasource
  |     at 
org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:79)
  |     at 
org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:137)
  |     at 
org.hibernate.ejb.InjectionSettingsFactory.createConnectionProvider(InjectionSettingsFactory.java:29)
  |     at 
org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:89)
  |     at 
org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2101)
  |     at 
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1325)
  |     at 
org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:867)
  |     at 
org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:669)
  |     ... 4 more
  | Caused by: javax.naming.NoInitialContextException: Need to specify class 
name in environment or system property, or as an applet parameter, or in an 
application resource file:  java.naming.factory.initial
  |     at 
javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645)
  |     at 
javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:247)
  |     at 
javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:284)
  |     at javax.naming.InitialContext.lookup(InitialContext.java:351)
  |     at 
org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:75)
  |     ... 11 more
  | [BidClient] : closing entity manager and factory...
  | Exception in thread "main" java.lang.NullPointerException
  |     at Main.main(Main.java:88)
  | 


This is my persistence.xml file :


  | <?xml version="1.0" encoding="UTF-8"?>
  | <persistence>
  |    <persistence-unit name="BiddingTest">
  |       <jta-data-source>java:/OracleXE1_DS</jta-data-source>
  |       <properties>
  |          <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
  |          <property name="hibernate.dialect" 
value="org.hibernate.dialect.Oracle10gDialect"/>
  |       </properties>
  |    </persistence-unit>
  | </persistence>
  | 


This is my oracle-ds.xml file :


  | <?xml version="1.0" encoding="UTF-8"?>
  | <datasources>
  |   <local-tx-datasource>
  |     <jndi-name>OracleXE1_DS</jndi-name>
  |     
<connection-url>jdbc:oracle:thin:system/sys...@localhost:1521:XE</connection-url>
  |     <driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
  |     <user-name>system</user-name>
  |     <password>system</password>
  |     
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
 
  |     <metadata> 
  |             <type-mapping>Oracle10g</type-mapping> 
  |     </metadata>
  |   </local-tx-datasource>
  | </datasources>
  | 

This is my BidClient.java file:


  | 
  | package my.com.eperolehan.client;
  | 
  | 
  | import javax.persistence.EntityManager;
  | //import javax.persistence.EntityTransaction;
  | import javax.persistence.EntityManagerFactory;
  | import javax.persistence.Persistence;
  | //import javax.persistence.PersistenceContext;
  | 
  | import my.com.eperolehan.entities.Bidder;
  | 
  | import org.apache.log4j.Level;
  | import org.apache.log4j.Logger;
  | import org.apache.log4j.ConsoleAppender;
  | import org.apache.log4j.SimpleLayout;
  | 
  | 
  | public class BidClient {
  | 
  |     
  |     private static EntityManagerFactory f;
  |     
  |     //@PersistenceContext(unitName="BiddingTest")
  |     private static EntityManager em;
  | 
  |     
  |     public static void main(String[] args) {
  | 
  |             
  |             Logger log = Logger.getLogger(BidClient.class);
  |             log.setLevel(Level.WARN);
  |             
  |             SimpleLayout layout = new SimpleLayout();
  |             ConsoleAppender appender = new ConsoleAppender(layout);
  | 
  |             
  |             log.addAppender(appender);
  |             
  |             
  |             try {
  |                             
  |                             
  |                             System.out.println("[BidClient] : creating 
EntityManagerFactory...");
  |                             log.debug("[BidClient] : creating 
EntityManagerFactory...");
  |                             f = 
Persistence.createEntityManagerFactory("BiddingTest");
  |                             System.out.println("[BidClient] : Created.");
  |                             log.debug("[BidClient] : Created.");    
  |                             System.out.println("[BidClient] : creating 
EntityManager...");
  |                             em = f.createEntityManager();
  |                             System.out.println("[BidClient] : Created.");
  |                             log.debug("[BidClient] : Created.");
  | 
  |                             
  |                             em.getTransaction().begin();
  | 
  |                             
  |                             try {
  |                                     System.out.println("[BidClient] : 
creating a Bidder...");
  |                                     Bidder bidder = new Bidder();
  | 
  |                                             bidder.setBidderName("Bidder No 
1");
  |                                             bidder.setBidSessionId(1);
  | 
  | 
  |                                 em.persist(bidder);
  |                                 em.getTransaction().commit();
  |                                 System.out.println("[BidClient] : Bidder 
created and commited.");
  |                                 log.debug("[BidClient] : Bidder created and 
commited.");
  |                                 
  |                             } catch (Exception ex) {
  |                                     em.getTransaction().rollback();
  |                             }
  | 
  |                             System.out.println("[BidClient] : Bidder person 
created and persisted successfully.");
  |                              log.debug("[BidClient] : Bidder person created 
and persisted successfully.");
  |             
  |             } catch (RuntimeException e) {
  |                 
  |                             e.printStackTrace();
  |             
  |             } finally {
  |                     
  |                     
  |                     
  |             }
  | 
  | 
  |             System.out.println("[BidClient] : closing entity manager and 
factory...");
  |             log.debug("[BidClient] : closing entity manager and 
factory...");
  |             em.close();             
  |             //f.close();
  |             System.out.println("[BidClient] : Closed.");
  |             log.debug("[BidClient] : Closed.");
  |             
  |     }
  |     
  |     
  | }
  | 

Please can help me. Thank you very much in advance!

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4198398#4198398

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4198398
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to