新的EJB3,请帮助/解释。无法创建EntityManager
里面一个会话bean我宣布一个EntityManager如下
@PersistenceContext(unitName="ScheduleUnit")
private EntityManager em;
和工作原理。但是,当我做到这一点
private EntityManager em;
private EntityManagerFactory emf;
public void myFunction() {
emf = Persistence.createEntityManagerFactory("ScheduleUnit");
em = emf.createEntityManager();
}
我得到以下错误:
A JDBC Driver or DataSource class name must be specified in the ConnectionDriverName property
请参阅本文,如果您编写j2se应用程序:http://java.sun.com/developer/technicalArticles/J2SE/Desktop/persistenceapi/ – Dmitry 2010-04-15 12:53:36
感谢德米特里, 我使用Genonimo而不是Glassfish的J2EE服务器。我已经正确设置了数据源。 org.apache.openjpa.persistence.PersistenceProviderImpl myDatasource jta-data- source> com.skomarcorp.Schedule persistence-unit>。你能解释使用@PersistenceContext和EntityManagerFactory之间的区别,以及为什么一个比另一个更好? –
duvo
2010-04-16 18:21:27
这是我的persistence.xml:
使用注释使代码更简单:)在这种情况下,容器(geronimo)会自动解析到实体管理器的链接,并且EntityManager实例的生命周期由容器管理。请参阅http://java.sun.com/javaee/5/docs/tutorial/doc/bnbqw.html – Dmitry 2010-04-20 18:27:08