当前位置: 首页 > 知识库问答 >
问题:

org.dom4j. DocumentException:拒绝连接:Hibernate中的连接嵌套异常

终洛华
2023-03-14

我对Hibernate不太熟悉。谁能帮我解决代码中出现的错误。

我正在使用Eclipse Helios,Hibernate 3

生成的类和配置文件,如:

Emp.java

package generatedcode;
import java.math.BigDecimal;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;

public class Emp implements java.io.Serializable 
{

    private short empno;
    private Emp emp;
    private Dept dept; 
    private String ename;
    private String job;
    private Date hiredate;
    private BigDecimal sal;
    private BigDecimal comm;
    private Set emps = new HashSet(0);


    public Emp() {
    }

    public Emp(short empno) {
        this.empno = empno;
    }

    public Emp(short empno, Emp emp, Dept dept, String ename, String job,
            Date hiredate, BigDecimal sal, BigDecimal comm, Set emps) {
        this.empno = empno;
        this.emp = emp;
        this.dept = dept;
        this.ename = ename;
        this.job = job;
        this.hiredate = hiredate;
        this.sal = sal;
        this.comm = comm;
        this.emps = emps;
    }

    public short getEmpno() {
        return this.empno;
    }

    public void setEmpno(short empno) {
        this.empno = empno;
    }

    public Emp getEmp() {
        return this.emp;
    }

    public void setEmp(Emp emp) {
        this.emp = emp;
    }

    public Dept getDept() {
        return this.dept;
    }

    public void setDept(Dept dept) {
        this.dept = dept;
    }

    public String getEname() {
        return this.ename;
    }

    public void setEname(String ename) {
        this.ename = ename;
    }

    public String getJob() {
        return this.job;
    }

    public void setJob(String job) {
        this.job = job;
    }

    public Date getHiredate() {
        return this.hiredate;
    }

    public void setHiredate(Date hiredate) {
        this.hiredate = hiredate;
    }

    public BigDecimal getSal() {
        return this.sal;
    }

    public void setSal(BigDecimal sal) {
        this.sal = sal;
    }

    public BigDecimal getComm() {
        return this.comm;
    }

    public void setComm(BigDecimal comm) {
        this.comm = comm;
    }

    public Set getEmps() {
        return this.emps;
    }

    public void setEmps(Set emps) {
        this.emps = emps;
    }

}

部门java

package generatedcode;

import java.util.HashSet;
import java.util.Set;

public class Dept implements java.io.Serializable {

    private byte deptno;
    private String dname;
    private String loc;
    private Set emps = new HashSet(0);

    public Dept() {
    }

    public Dept(byte deptno) {
        this.deptno = deptno;
    }

    public Dept(byte deptno, String dname, String loc, Set emps) {
        this.deptno = deptno;
        this.dname = dname;
        this.loc = loc;
        this.emps = emps;
    }

    public byte getDeptno() {
        return this.deptno;
    }

    public void setDeptno(byte deptno) {
        this.deptno = deptno;
    }

    public String getDname() {
        return this.dname;
    }

    public void setDname(String dname) {
        this.dname = dname;
    }

    public String getLoc() {
        return this.loc;
    }

    public void setLoc(String loc) {
        this.loc = loc;
    }

    public Set getEmps() {
        return this.emps;
    }

    public void setEmps(Set emps) {
        this.emps = emps;
    }
}

hibernate.cfg.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="hibernate.connection.url">jdbc:oracle:thin:@myserver:1521:xe</property>
        <property name="hibernate.connection.username">user</property>
        <property name="hibernate.connection.password">pass</property>
        <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
        <mapping resource="Emp.hbm.xml"/>
        <mapping resource="Dept.hbm.xml"/>
    </session-factory>
</hibernate-configuration>

Emp.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Sep 20, 2016 7:06:48 PM by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
    <class name="Emp" table="EMP" schema="TTRAK1">
        <id name="empno" type="short">
            <column name="EMPNO" precision="4" scale="0" />
            <generator class="assigned" />
        </id>
        <many-to-one name="emp" class="Emp" fetch="select">
            <column name="MGR" precision="4" scale="0" />
        </many-to-one>
        <many-to-one name="dept" class="Dept" fetch="select">
            <column name="DEPTNO" precision="2" scale="0" />
        </many-to-one>
        <property name="ename" type="string">
            <column name="ENAME" length="10" />
        </property>
        <property name="job" type="string">
            <column name="JOB" length="9" />
        </property>
        <property name="hiredate" type="date">
            <column name="HIREDATE" length="7" />
        </property>
        <property name="sal" type="big_decimal">
            <column name="SAL" precision="7" />
        </property>
        <property name="comm" type="big_decimal">
            <column name="COMM" precision="7" />
        </property>
        <set name="emps" table="EMP" inverse="true" lazy="true" fetch="select">
            <key>
                <column name="MGR" precision="4" scale="0" />
            </key>
            <one-to-many class="Emp" />
        </set>
    </class>
</hibernate-mapping>

部门hbm。xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- Generated Sep 20, 2016 7:06:48 PM by Hibernate Tools 3.4.0.CR1 -->
<hibernate-mapping>
    <class name="Dept" table="DEPT" schema="TTRAK1">
        <id name="deptno" type="byte">
            <column name="DEPTNO" precision="2" scale="0" />
            <generator class="assigned" />
        </id>
        <property name="dname" type="string">
            <column name="DNAME" length="14" />
        </property>
        <property name="loc" type="string">
            <column name="LOC" length="13" />
        </property>
        <set name="emps" table="EMP" inverse="true" lazy="true" fetch="select">
            <key>
                <column name="DEPTNO" precision="2" scale="0" />
            </key>
            <one-to-many class="Emp" />
        </set>
    </class>
</hibernate-mapping>

Test.java

package test;

import generatedcode.Emp;
import java.util.List;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.*;

public class Test 
{
    public static void main(String args[])
    {
        Configuration configuration=new Configuration();
        SessionFactory sf=configuration.configure().buildSessionFactory();

        Session session=sf.openSession();
        session.beginTransaction();
        Query query=session.createQuery("from Emp");
        List<Emp> empList=query.list();
        for(Emp emp:empList)
        {
            System.out.println("Employee "+emp.getEmpno()+" , "+emp.getEname());
        }
        session.close();
    }
}

我得到的例外是:

线程“main”组织中出现异常。冬眠HibernateException:无法分析配置:/hibernate。cfg公司。组织中的xml。冬眠cfg公司。配置org上的doConfigure(Configuration.java:1491)。冬眠cfg公司。配置在org上配置(Configuration.java:1425)。冬眠cfg公司。配置在测试时配置(Configuration.java:1411)。EmpDAO。main(EmpDAO.java:19)由:org引起。dom4j。DocumentException:拒绝连接:连接嵌套异常:拒绝连接:在组织连接。dom4j。io。SAXReader。在org上阅读(SAXReader.java:484)。冬眠cfg公司。配置文档配置(Configuration.java:1481)。。。3个以上

有人能给我提供关于异常的描述或我在代码中缺少的任何建议吗?

共有1个答案

南门新知
2023-03-14

感谢Pradeep的帮助。下载dtd文件解决错误“http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd“和”http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd“在我的本地系统上,并提供了它的引用。可能是由于我的系统上的防火墙或防病毒软件拒绝访问dtd URL。

 类似资料:
  • 服务器名设置为“localhost”,端口为80。使用这些参数,我可以运行程序而没有任何异常,但是当代码到达in.readutf()行时,它会旋转。 当端口更改为任何其他端口时,我会得到一个连接拒绝异常。 另一方面,当我创建一个简单的“ServerSocket”程序接收端口80上的请求时,我会得到“Address Academy in use”异常,除了80之外的任何端口都适用于“ServerSo

  • 我正在使用Spring 5网络流量、SpringBoot 2和Reactive MongoDB构建一个POC。在使用maven插件构建项目时,我得到了如下错误MongoDB连接错误:- 以下是我的申请表。属性文件:- 波姆。xml:- 请告知这里可能存在什么问题?我是否需要在我的机器上显式安装MongoDB并在运行此项目之前运行它。我相信MongoDB实例将自行运行,因为SpringBoot将在运

  • 我使用的是Postgres 9.1.5。JDBC在第一个实例中运行良好,但当我再次尝试时,它开始拒绝连接。例如,我使用JDBC登录到我的web应用程序,效果很好。但是,我尝试使用连接获取其他数据,它引发了一个异常:连接被拒绝。我确信我的代码没有问题,因为上次运行良好的登录JDBC也引发了一个异常:连接被拒绝。 重新启动postgres windows服务后,它再次工作。然后,登录JDBC,获取一些

  • 我试图实现一个TCP连接,在服务器端一切正常,但当我运行客户端程序(从客户端计算机)时,我得到以下错误: 服务器代码: 客户端代码:

  • 问题内容: 我一直在尝试让一个简单的网络测试程序无法运行。 服务器: 客户: 当我使用127.0.0.1或我的内部IP作为主机名时,该程序运行良好。但是,每当我切换到外部IP地址时,都会引发错误。 我特意选择了一个不常见的端口,以查看是否是问题所在,但没有运气。使用telnet可以毫无问题地进行连接,但是当我尝试使用canyouseeme.org访问端口时,它表明连接超时。我什至尝试禁用所有防火墙