Persistence Manager Exception
galo.navarro Aug 21, 2006 12:20 PMJBoss 4.0.4 GA, EJB3 RC8
Testing EJB3, Stateless & Statefull examples work, my hypersonic database is configured and working, default datasource configured.
java: Namespace +- XAConnectionFactory (class: org.jboss.mq.SpyXAConnectionFactory) +- DefaultDS (class: org.jboss.resource.adapter.jdbc.WrapperDataSource)
I'm trying to get an Entity EJB to write something to that datasource but I get the following error:
17:08:46,983 WARN [ServiceController] Problem starting service jboss.j2ee:service=EJB3,module=entity.ejb3
java.lang.RuntimeException: Field private javax.persistence.EntityManager org.jboss.tutorial.entity.bean.ShoppingCartBean.manager @PersistenceUnit in error: EMPTY STRING unitName but there is no deployments in scope
This is my entity bean:
Order.java
@Entity @Table(name = "PURCHASE_ORDER") public class Order implements java.io.Serializable { private static final long serialVersionUID = 1L; private int id; private double total; private Collection<LineItem> lineItems; public Order() { super(); } @Id @GeneratedValue(strategy=GenerationType.AUTO) public int getId() { return id; }
I use it from a stateless bean that doesn't do much
package slsb; import javax.ejb.Stateless; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import entity.*; import model.Item; @Stateless public class SimpleStatelessBean implements SimpleStatelessBeanRemote, SimpleStatelessBeanLocal { @PersistenceContext() private EntityManager em; public Item getItem(Long id) { Order o = new Order(); o.setId(10); o.setLineItems(null); o.setTotal(100); em.persist(o); Item item = new Item(); item.setId(id); item.setName("A Java mug"); return item; } }
I thought it might be due to a missing persistence.xml file but the error is still the same, this is my persistence.xml, but anyway I didn't think you actually needed this (i've seen examples from the Jboss labs working without them, is it really needed?)
<persistence> <persistence-unit name="BeanExamples"> <jta-data-source>java:/DefaultDS</jta-data-source> <properties> <property name="hibernate.hbm2ddl.auto" value="create-drop"/> </properties> </persistence-unit> </persistence>
Any suggestions? Thanks