0

我正在尝试在 JBOSS AS 7.1.1 中配置休眠

我只将persistence.xml 放在WEB-INF 文件夹中

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
<persistence-unit name="actionBazaar" transaction-type="JTA">
   <provider>org.hibernate.ejb.HibernatePersistence</provider>
   <jta-data-source>java:/ActionBazaarDS</jta-data-source>
   <properties>
      <property name="hibernate.show_sql" value="true" />
   </properties>
</persistence-unit>
</persistence>

Obs:JBOSS 7.1.1 有一个带有休眠 4 的模块,我有一个名为 java:/ActionBazaarDS 的数据源

但我得到这个错误:

Can't find a persistence unit named actionBazaar in deployment "ActionBazaar.war"

当我尝试使用时:

@PersistenceContext(unitName="actionBazaar")
private EntityManager entityManager;
4

2 回答 2

0

在 web.xml 上设置以下设置

<persistence-unit-ref>
  <persistence-unit-ref-name>persistence/actionBaazar</persistence-unit-ref-name>
  <persistence-unit-name>actionBazaar</persistence-unit-name>
</persistence-unit-ref>

它将导致您的 persistence.xml 以该名称在 JBoss 中发布

于 2013-07-21T23:02:16.837 回答
0

您正在尝试使用 jboss 7.1.1 配置休眠,如果您使用的是 MySQL 数据库,请按照以下答案开始:如何在 JBoss 中配置休眠

您的休眠配置是使用 jboss 7.1.1 完成的。

之后部署你的项目......

如果在部署项目时出现 No Persistence provider for EntityManager 错误,则在项目中添加一个类,即 HibernateUtil.java 类,并将持久性单元名称提供给entityManagerFactory = Persistence.createEntityManagerFactory("abc");

public class HibernateUtil {

    private static final EntityManagerFactory entityManagerFactory;
    static {
                try {
                     entityManagerFactory = Persistence.createEntityManagerFactory("abc");
                     System.out.println("Entity Menager Test.............."+ entityManagerFactory);
                } catch (Throwable ex) {

                    System.err.println("Initial SessionFactory creation failed." + ex);
                    throw new ExceptionInInitializerError(ex);

                  }
    }

public static EntityManagerFactory getEntityManagerFactory() {
         return entityManagerFactory;
    }

}
于 2014-02-22T20:36:42.543 回答