【发布时间】:2011-11-30 13:47:29
【问题描述】:
我需要在没有persistence.xml的代码中创建EntityManager ... 我有
props.put("openjpa.ConnectionURL", "jdbc:sqlserver://databasehost:3306; DatabaseName=dbname; selectMethod=cursor;create=true");
props.put("openjpa.ConnectionDriverName","com.mysql.jdbc.Driver");
props.put("openjpa.ConnectionUserName", "dbname");
props.put("openjpa.ConnectionPassword", "password");
props.put("openjpa.jdbc.SynchronizeMappings", "buildSchema");
props.put("openjpa.Log", "DefaultLevel=WARN, Runtime=INFO, Tool=INFO, SQL=TRACE");
props.put("openjpa.RuntimeUnenhancedClasses", "supported");
EntityManagerFactory factory = Persistence.createEntityManagerFactory("wp");
em = factory.createEntityManager(props);
..当 em = factory.createEntityManager(props) 被调用时,我得到:
javax.persistence.PersistenceException:尝试以下发现的实现后,没有可用于“wp”的持久性提供程序:org.apache.openjpa.persistence.PersistenceProviderImpl 在 javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:182) 在 javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:72) 在 dao.wp.WP_EMH.getCurrentEntityManager(WP_EMH.java:27)我知道没有提及标签表示的 persistence.xml 中的内容
PROVIDER- org.apache.openjpa.persistence.PersistenceProviderImpl - /PROVIDER
我应该如何将它添加到属性中?或者如何解决? 我的第二个问题是在 persistence.xml 中添加了实体类。如何用属性解决这个问题?
谢谢
【问题讨论】:
-
请不要设置 openjpa.RuntimeUnenhancedClasses=supported ......这会在某个时候咬你。更好的选择是配置构建时间增强。
标签: java persistence openjpa entitymanager