【问题标题】:Hibernate.cfg.xml not found on jboss 7在 jboss 7 上找不到 Hibernate.cfg.xml
【发布时间】:2012-07-31 07:00:30
【问题描述】:

我在 Jboss AS 7.1.1 上部署了一个 EAR 文件。

在其中一个 EJB 项目中,我们在 META-INF 文件夹下有一个 persistence.xml 文件。我需要在数据库中进行批量更新,所以我编写了这段代码来获取会话工厂:

private SessionFactory buildSessionFactory() throws Exception {
        SessionFactory factory = null;
        try{
        Configuration configuration = new Configuration();
        configuration.addResource("/META-INF/persistence.xml");
        configuration.configure().setProperty("hibernate.show_sql", "false"); ---> **throws error**
        ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
        factory = configuration.buildSessionFactory(serviceRegistry);
        }
        catch (Throwable t){
            throw new Exception(t);
        }
        return factory;
    }

问题是我得到了:org.hibernate.HibernateException: /hibernate.cfg.xml not found

如何让 hibernate 使用 persistence.xml 文件而不是 hibernate.cfg.xml

更新:

我发现我用错了方法:

configuration.addResource("/META-INF/persistence.xml");

应该是:

configuration.configure("/META-INF/persistence.xml");

但是现在我有一个不同的问题,因为 Jboss persistence.xml 没有与 hibernate.cfg.xml 相同的结构,所以我得到了无效的配置异常。

知道什么是正确的课程吗?

【问题讨论】:

  • 您可以回答您的问题,甚至接受它,而不是更新。因此,将来它可能对其他人有所帮助。

标签: java hibernate jakarta-ee jboss7.x


【解决方案1】:

您可以通过 JPA 使用 Hibernate,但您必须重写一些代码 - 将 SessionFactory 更改为 EntityManager 等。其他方式是编写 hibernate.cfg.xml 配置,并使用本机 Hibernate 而无需触及您的代码。

【讨论】:

    猜你喜欢
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    • 2014-07-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多