Hello, i am using jboss portal 2.7.2 bundle with jboss 4.2.3 and i like to use ejb3 persistence for database query. But i get this exception: 15:45:31,530 ERROR [CustomerHome] get failed | java.lang.NullPointerException | at swk.hibernate.dao.CustomerHome.findById(Unknown Source) | at de.counter.CounterBean.<init>(CounterBean.java:69)
My datasource: <datasources> | <local-tx-datasource> | <jndi-name>HelloWorldDS</jndi-name> | <connection-url>jdbc:mysql://xxxx/xxxx</connection-url> | <driver-class>com.mysql.jdbc.Driver</driver-class> | <user-name>xxxx</user-name> | <password>xxxx</password> | <min-pool-size>5</min-pool-size> | <max-pool-size>20</max-pool-size> | </local-tx-datasource> | </datasources> 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="customerdb"> | <provider>org.hibernate.ejb.HibernatePersistence</provider> | <jta-data-source>java:/HelloWorldDS</jta-data-source> | <properties> | <property name="hibernate.archive.autodetection" value="class, hbm"></property> | <property name="hibernate.show_sql" value="true"/> | <property name="hibernate.format_sql" value="true"/> | <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/> | </properties> | </persistence-unit> | </persistence> | and the entity with Stateless Home Class: CustomerEntity | @Entity | @Table(name = "Customer", catalog = "swkcustomerportal") | public class Customer implements java.io.Serializable { | | private Integer idCustomer; | private String jbossUser; | ... | | public Customer() { | } | | public Customer(String jbossUser, ...) { | this.jbossUser = jbossUser; | ... | } | | public Customer(String jbossUser, ....) | ... | } | | @Id | @GeneratedValue(strategy = IDENTITY) | @Column(name = "idCustomer", unique = true, nullable = false) | public Integer getIdCustomer() { | return this.idCustomer; | } | | protected void setIdCustomer(Integer idCustomer) { | this.idCustomer = idCustomer; | } | ... | | CustomerHomeStateless | @Stateless | public class CustomerHome { | | private static final Log log = LogFactory.getLog(CustomerHome.class); | | @PersistenceContext(unitName="customerdb") | private EntityManager entityManager; | | public void persist(Customer transientInstance) { | ... | } | | public void remove(Customer persistentInstance) { | ... | } | | public Customer merge(Customer detachedInstance) { | ... | } | | public Customer findById(Integer id) { | log.debug("getting Customer instance with id: " + id); | try { | | Customer instance = (Customer)entityManager.find(Customer.class, id); | log.debug("get successful"); | return instance; | } catch (RuntimeException re) { | log.error("get failed", re); | throw re; | } | } | } I shorted the Classes to give an easier overview. The Customer and the CustomerHome are in different packages of the same jar File. I thought that it is no problem. Jboss Console gives me the following information: | 15:28:33,054 INFO [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.entity.PersistenceUnitDeployment | 15:28:33,070 INFO [JmxKernelAbstraction] installing MBean: persistence.units:jar=HibernateCustomer.jar,unitName=customerdb with dependencies: | 15:28:33,070 INFO [JmxKernelAbstraction] jboss.jca:name=HelloWorldDS,service=DataSourceBinding | 15:28:33,086 INFO [PersistenceUnitDeployment] Starting persistence unit persistence.units:jar=HibernateCustomer.jar,unitName=customerdb | 15:28:33,164 INFO [Version] Hibernate EntityManager 3.2.1.GA | 15:28:33,164 INFO [Version] Hibernate Annotations 3.2.1.GA | 15:28:33,351 INFO [Ejb3Configuration] found EJB3 Entity bean: swk.hibernate.model.Customer | ... | 15:28:34,773 INFO [HbmBinder] Mapping class: swk.hibernate.model.Customer -> Customer | ... | 15:28:36,273 INFO [SessionFactoryObjectFactory] Factory name: persistence.units:jar=HibernateCustomer.jar,unitName=customerdb | 15:28:36,273 INFO [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces} | 15:28:36,289 INFO [SessionFactoryObjectFactory] Bound factory to JNDI name: persistence.units:jar=HibernateCustomer.jar,unitName=customerdb | 15:28:36,289 WARN [SessionFactoryObjectFactory] InitialContext did not implement EventContext | 15:28:36,289 INFO [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces} | 15:28:36,742 INFO [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateless.StatelessContainer | 15:28:37,039 INFO [JmxKernelAbstraction] installing MBean: jboss.j2ee:jar=HibernateCustomer.jar,name=CustomerHome,service=EJB3 with dependencies: | 15:28:37,039 INFO [JmxKernelAbstraction] persistence.units:jar=HibernateCustomer.jar,unitName=customerdb | 15:28:37,055 INFO [EJBContainer] STARTED EJB: swk.hibernate.dao.CustomerHome ejbName: CustomerHome | 15:28:37,055 INFO [JmxKernelAbstraction] creating wrapper delegate for: org.jboss.ejb3.stateless.StatelessContainer | ... | 15:28:37,289 INFO [EJB3Deployer] Deployed: file:/D:/server/jboss-portal-2.7.2/server/default/deploy/HibernateCustomer.jar My portlet does the following: Customer customers; | ... | | public CounterBean() { | ... | try { | customers = (Customer) new CustomerHome().findById(1); | ... I must omit something, or I did not understand it correctly. Can someone help me? View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4265547#4265547 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4265547 _______________________________________________ jboss-user mailing list [email protected] https://lists.jboss.org/mailman/listinfo/jboss-user
