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

组织。冬眠InvalidMappingException:无法读取XML

洪胤
2023-03-14

我需要你帮我把冬眠映射成一对多我不知道为什么这是错的

public class Direccion {

private long id;
private String calle;
private int numero;
private List<Persona> habitantes;


public Direccion(){
}
public Direccion(long id, String calle, int numero, List<Persona> habitante) {
    super();
    this.id = id;
    this.calle = calle;
    this.numero = numero;
    this.habitantes = habitante;
}
public long getId() {
    return id;
}
public void setId(long id) {
    this.id = id;
}
public String getCalle() {
    return calle;
}
public void setCalle(String calle) {
    this.calle = calle;
}
public int getNumero() {
    return numero;
}
public void setNumero(int numero) {
    this.numero = numero;
}
public List<Persona> getHabitantes() {
    return habitantes;
}
public void setHabitantes(List<Persona> habitantes) {
    this.habitantes = habitantes;
}
@Override
public String toString() {
    return "Direccion [id=" + id + ", calle=" + calle + ", numero="
            + numero + ", habitantes=" + habitantes + "]";
}
}

另一类:

 public class Persona {

    private long id;
    private long nombre;


    public Persona(){   
    }
    public Persona(long id, long nombre) {
        super();
        this.id = id;
        this.nombre = nombre;
    }
    public long getId() {
        return id;
    }
    public void setId(long id) {
        this.id = id;
    }
    public long getNombre() {
        return nombre;
    }
    public void setNombre(long nombre) {
        this.nombre = nombre;
    }
    @Override
    public String toString() {
        return "Persona [id=" + id + ", nombre=" + nombre + "]";
    }
    }

映射

<?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
   "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
   <hibernate-mapping>
    <class name="datos.Direccion" table="direccion">
        <id column="id" name="id">
            <generator class="identity">
              </generator>
        </id>
        <property column="calle" name="calle" type="string" />
        <property name="numero" column="numero" type="int" />

        <set name="habitantes" table="persona" inverse="true" lazy="true" fetch="select">
        <key>
         <column name="idPersona" not-null="true" />
        </key>

        <one-to-many class="datos.Persona" />

    </class>
   </hibernate-mapping>

另一个映射:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
    <hibernate-mapping>
    <class name="datos.Persona" table="persona">
        <id column="id" name="id">
            <generator class="identity"/>
        </id>
        <property column="nombre" name="nombre" type="string" />

        <many-to-one name="direccion" class="datos.Direccion" column="idPersona" not-null="true"/>

 </set>
    </class>
    </hibernate-mapping>

Hibernate配置

    <?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>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://localhost:3306/repasohibernate</property>
        <property name="connection.username">root</property>
        <property name="connection.password">root</property>
        <property name="connection.pool_size">1</property>
        <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
        <property name="show_sql">true</property> <!-- en true muestra hql en consola -->
        <!--Mapeo Entidades -->
        <mapping resource="mapeos/persona.hbm.xml" />
        <mapping resource="mapeos/direccion.hbm.xml" />
    </session-factory>
   </hibernate-configuration>

这就是错误:

jun 21, 2014 6:11:51 PM org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
jun 21, 2014 6:11:51 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.1.9.Final}
jun 21, 2014 6:11:51 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
jun 21, 2014 6:11:51 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
jun 21, 2014 6:11:51 PM org.hibernate.cfg.Configuration configure
INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml
jun 21, 2014 6:11:51 PM org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: HHH000040: Configuration resource: /hibernate.cfg.xml
jun 21, 2014 6:11:51 PM org.hibernate.internal.util.xml.DTDEntityResolver resolveEntity
WARN: HHH000223: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide!
jun 21, 2014 6:11:51 PM org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: mapeos/persona.hbm.xml
jun 21, 2014 6:11:51 PM org.hibernate.internal.util.xml.DTDEntityResolver resolveEntity
WARN: HHH000223: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide!
ERROR en la inicialización de la SessionFactory: org.hibernate.InvalidMappingException: Unable to read XML
Exception in thread "main" java.lang.NullPointerException
    at dao.DireccionDao.traerListaRubros(DireccionDao.java:128)
    at prueba.prueba.main(prueba.java:12)

如果有人能帮我,我非常感激,谢谢!

共有2个答案

夏侯嘉荣
2023-03-14

有时在Init-参数和上下文-参数中,您尝试给出相同的参数-value,这就是为什么它error.try删除一个。

<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
          http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    version="2.5">

    <display-name>Sample Spring Maven Project</display-name>

<context-param>
        <param-name>log4jConfigLocation</param-name>
            <param-value>/WEB-INF/spring-config.xml,
            /WEB-INF/applicationContext-datasource.xml,
            /WEB-INF/applicationContext-hibernate.xml</param-value>
    </context-param>
    <servlet>
        <servlet-name>mvc-dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

    <!--    
I have removed this one.
<init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/spring-config.xml,
            /WEB-INF/applicationContext-datasource.xml,
            /WEB-INF/applicationContext-hibernate.xml</param-value>
        </init-param> -->
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>mvc-dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>
贺聪
2023-03-14

如果您要将一个目录映射到多个角色,那么这就是一对多映射。这也意味着人物角色与导演之间存在多对一的关系。您有一个列表

下面是一个使用xml进行hibernate配置的示例。http://www.mkyong.com/hibernate/hibernate-one-to-many-relationship-example/

 类似资料:
  • 我正在尝试从当前用户那里获取特定租金的列表。 控制器中的代码: account\u id是外键。 运行后,我发现错误: 我做错了什么?

  • 我想写一个简单的不存在的地方子句HQL查询。我不熟悉Hibernate,我有一些小问题。 我的查询如下所示: 我想选择所有包含IDUser当天购买的门票的天数。所有这些都与id为IDFest的节日相关。 我的堆栈跟踪: 映射类: Day.java Festivals.java 门票。Java语言

  • 我得到这个错误的原因很奇怪。我将解释这个错误是按时间顺序排列的,以便更容易理解。 这是我的JPA查询,在我添加po之前,它一直工作得很好。it的customer\u id。 商店订单构造器 错误: 我很困惑为什么我调用的表中的一列不被识别。我已经玩了一段时间了,但感觉就像在追我的尾巴。 -------更新------- 我注意到表中的其他BigInt变量在构造函数中很长。因此,我将customer

  • 我已经为这个问题挣扎了一段时间了。我有一个使用Struts2、spring和Hibernate的基于web的应用程序。我使用Spring将struts动作、业务和dao层连接在一起。我正在使用JMeter对应用程序进行负载测试。当我模拟1个用户反复发送get请求时,应用程序运行良好,没有问题。但是,当我再添加几个用户时,过了一段时间后,我得到以下错误: 所以,我假设这是一个连接泄漏,但是当我模拟一

  • 我有错误在我的Hibernate代码和我需要知道如何修复它 错误: “errorMessage:“无法初始化代理[tech.basarsoft.hayez.io.entity.University#gx8qcpipfnysrlripzmtgrt1qifuyb8]-无会话”, CollageEntryPOint类 拼贴: 和DAOSQL实现 这是hibernate。cfg文件 拼贴服务: 拼贴映射: