你能帮我配置Glassfish和Hibernate吗?

时间:2016-05-11 23:09:43

标签: java hibernate glassfish

经过多次努力,我设法首先通过JDBC连接Web应用程序和远程Informix引擎。实际上没有关于它的文档,或者我找不到。

然后,下一个自然步骤是通过连接池将Web应用程序与远程Informix引擎连接。 同样,它耗费了我很多,但是使用Informix做了很多工作,例如MySQL,PostgreSQL和Oracle的任何地方都比较多,但Informix却没有。同样可以在Glassfish中配置连接池,并在成功连接消息之后ping设置,并根据我的理解,已经正确设置。

现在,我发现无法通过Hibernate连接到Glassfish中创建的数据源。我的项目使用JSF 2.2 + PrimeFaces + Hibernate。

我的连接池名为“PromoGas”,我的数据源名为“jdbc / promogas”。

我的“hibernate.cfg.xml”文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate     Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory name="hibernate/SessionFactory">
        <property name="hibernate.connection.datasource">java:/hibernate/jdbc/promogas</property>
        <property  name="hibernate.connection.driver_class">com.informix.jdbc.IfxDriver</property>
        <property name="hibernate.current_session_context_class">thread</property>
        <property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
        <property name="hibernate.dialect">org.hibernate.dialect.InformixDialect</property>
        <property name="hibernate.show_sql">true</property>
        <mapping resource="pojos/CbtesCoop.hbm.xml"/>
        <mapping resource="pojos/CbtesCptos.hbm.xml"/>
        <mapping resource="pojos/CptosOtrosSum.hbm.xml"/>
        <mapping resource="pojos/Clientes.hbm.xml"/>
    </session-factory>
</hibernate-configuration>

我通过不同的MySQL教程配置了这个配置,但是将它改编为Informix。

我的“web.xml”文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org /xml/ns/javaee/web-app_3_1.xsd">
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>faces/index.xhtml</welcome-file>
    </welcome-file-list>
</web-app>

而且,我的“glassfish-web.xml”如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish  Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app error-url="">
  <class-loader delegate="true"/>
  <jsp-config>
    <property name="keepgenerated" value="true">
      <description>Keep a copy of the generated servlet class' java  code.</description>
    </property>
  </jsp-config>
</glassfish-web-app>

让我感到惊讶的是,教程不会说文件“web.xml”,也不会说“glassfish-web.xml”。我认为这些文件或两者都缺少某些配置,但在网络上找不到任何关于它的内容。也许我错了。

当我运行应用程序时,出现的错误如下: “无法查找JNDI名称[java:/ hibernate / jdbc / promogas]”

我知道的很少,我需要一个上下文,但在教程中不要说任何内容。

对于能够指导我这个问题的人,我将不胜感激。

一个拥抱!

古斯塔沃

0 个答案:

没有答案