Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取org.hibernate.MappingException_Java_Hibernate_Hql_Hibernate Mapping - Fatal编程技术网

Java 获取org.hibernate.MappingException

Java 获取org.hibernate.MappingException,java,hibernate,hql,hibernate-mapping,Java,Hibernate,Hql,Hibernate Mapping,这是我在Stackoverflow中的第一个问题。我希望能说清楚。我在Hibernate映射方面遇到了问题,我不知道错误在哪里。当我尝试运行HQL时,就像 from Sensor 我得到以下例外 org.hibernate.MappingException: Association references unmapped class: sipiaHibernate.TipoSensor at org.hibernate.cfg.HbmBinder.bindCollectionSecondPas

这是我在Stackoverflow中的第一个问题。我希望能说清楚。我在Hibernate映射方面遇到了问题,我不知道错误在哪里。当我尝试运行HQL时,就像

from Sensor
我得到以下例外

org.hibernate.MappingException: Association references unmapped class: sipiaHibernate.TipoSensor
at org.hibernate.cfg.HbmBinder.bindCollectionSecondPass(HbmBinder.java:2380)
at org.hibernate.cfg.HbmBinder$CollectionSecondPass.secondPass(HbmBinder.java:2662)
at org.hibernate.cfg.CollectionSecondPass.doSecondPass(CollectionSecondPass.java:43)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1130)
at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:324)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1286)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859)
我正在使用openjdk6、hibernet 3.2.5和MySQL数据库开发netbeans 7。我在sipiaHibernate包中有所有POJO的类。配置文件中提到的所有表都在我的数据库中。我使用netbeans hibernet实用程序生成了POJO类和映射文件

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>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/gatewaysipia</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">xxxxxxxxx</property>
    <property name="hibernate.show_sql">true</property>
    <property name="hibernate.current_session_context_class">thread</property>
    <property name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property>
    <property name="hibernate.jdbc.batch_size">0</property>
    <mapping resource="sipiaHibernate/TipoSensor.hbm.xml"/>
    <mapping resource="sipiaHibernate/Mote.hbm.xml"/>
    <mapping resource="sipiaHibernate/LogDataInd.hbm.xml"/>
    <mapping resource="sipiaHibernate/ModeloSensor.hbm.xml"/>
    <mapping resource="sipiaHibernate/Usuario.hbm.xml"/>
    <mapping resource="sipiaHibernate/Proyecto.hbm.xml"/>
    <mapping resource="sipiaHibernate/DatosProyecto.hbm.xml"/>
    <mapping resource="sipiaHibernate/ServerVariables.hbm.xml"/>
    <mapping resource="sipiaHibernate/LogMoteStart.hbm.xml"/>
    <mapping resource="sipiaHibernate/Sensor.hbm.xml"/>
    <mapping resource="sipiaHibernate/SensorConstantes.hbm.xml"/>
  </session-factory>
</hibernate-configuration>
TipoSensor POJO类

package sipiaHibernate;
// Generated 06/08/2012 18:34:16 by Hibernate Tools 3.2.1.GA

import java.math.BigDecimal;
import java.util.HashSet;
import java.util.Set;

/**
 * Sensor generated by hbm2java
 */
public class Sensor  implements java.io.Serializable {


     private Long idsensor;
     private ModeloSensor modeloSensor;
     private Mote mote;
     private Proyecto proyecto;
     private short dirSensor;
     private String etiqueta;
     private String ubicacion;
     private BigDecimal gpsLatitud;
     private BigDecimal gpsLongitud;
     private String estadoSensor;
     private Set datosProyectos = new HashSet(0);

    public Sensor() {
    }


    public Sensor(ModeloSensor modeloSensor, Mote mote, short dirSensor, String etiqueta, String ubicacion, String estadoSensor) {
        this.modeloSensor = modeloSensor;
        this.mote = mote;
        this.dirSensor = dirSensor;
        this.etiqueta = etiqueta;
        this.ubicacion = ubicacion;
        this.estadoSensor = estadoSensor;
    }
    public Sensor(ModeloSensor modeloSensor, Mote mote, Proyecto proyecto, short dirSensor, String etiqueta, String ubicacion, BigDecimal gpsLatitud, BigDecimal gpsLongitud, String estadoSensor, Set datosProyectos) {
       this.modeloSensor = modeloSensor;
       this.mote = mote;
       this.proyecto = proyecto;
       this.dirSensor = dirSensor;
       this.etiqueta = etiqueta;
       this.ubicacion = ubicacion;
       this.gpsLatitud = gpsLatitud;
       this.gpsLongitud = gpsLongitud;
       this.estadoSensor = estadoSensor;
       this.datosProyectos = datosProyectos;
    }

    public Long getIdsensor() {
        return this.idsensor;
    }

    public void setIdsensor(Long idsensor) {
        this.idsensor = idsensor;
    }
    public ModeloSensor getModeloSensor() {
        return this.modeloSensor;
    }

    public void setModeloSensor(ModeloSensor modeloSensor) {
        this.modeloSensor = modeloSensor;
    }
    public Mote getMote() {
        return this.mote;
    }

    public void setMote(Mote mote) {
        this.mote = mote;
    }
    public Proyecto getProyecto() {
        return this.proyecto;
    }

    public void setProyecto(Proyecto proyecto) {
        this.proyecto = proyecto;
    }
    public short getDirSensor() {
        return this.dirSensor;
    }

    public void setDirSensor(short dirSensor) {
        this.dirSensor = dirSensor;
    }
    public String getEtiqueta() {
        return this.etiqueta;
    }

    public void setEtiqueta(String etiqueta) {
        this.etiqueta = etiqueta;
    }
    public String getUbicacion() {
        return this.ubicacion;
    }

    public void setUbicacion(String ubicacion) {
        this.ubicacion = ubicacion;
    }
    public BigDecimal getGpsLatitud() {
        return this.gpsLatitud;
    }

    public void setGpsLatitud(BigDecimal gpsLatitud) {
        this.gpsLatitud = gpsLatitud;
    }
    public BigDecimal getGpsLongitud() {
        return this.gpsLongitud;
    }

    public void setGpsLongitud(BigDecimal gpsLongitud) {
        this.gpsLongitud = gpsLongitud;
    }
    public String getEstadoSensor() {
        return this.estadoSensor;
    }

    public void setEstadoSensor(String estadoSensor) {
        this.estadoSensor = estadoSensor;
    }
    public Set getDatosProyectos() {
        return this.datosProyectos;
    }

    public void setDatosProyectos(Set datosProyectos) {
        this.datosProyectos = datosProyectos;
    }   

}
package sipiaHibernate;
// Generated 23/08/2012 15:10:47 by Hibernate Tools 3.2.1.GA


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

/**
 * TipoSensor generated by hbm2java
 */
public class TipoSensor  implements java.io.Serializable {


     private Long idtipoSensor;
     private ModeloSensor modeloSensor;
     private String tipoDescripcion;
     private String unidad;
     private Float valorMinimo;
     private Float valorMaximo;
     private Set modeloSensors = new HashSet(0);

    public TipoSensor() {
    }


    public TipoSensor(ModeloSensor modeloSensor) {
        this.modeloSensor = modeloSensor;
    }
    public TipoSensor(ModeloSensor modeloSensor, String tipoDescripcion, String unidad, Float valorMinimo, Float valorMaximo, Set modeloSensors) {
       this.modeloSensor = modeloSensor;
       this.tipoDescripcion = tipoDescripcion;
       this.unidad = unidad;
       this.valorMinimo = valorMinimo;
       this.valorMaximo = valorMaximo;
       this.modeloSensors = modeloSensors;
    }

    public Long getIdtipoSensor() {
        return this.idtipoSensor;
    }

    public void setIdtipoSensor(Long idtipoSensor) {
        this.idtipoSensor = idtipoSensor;
    }
    public ModeloSensor getModeloSensor() {
        return this.modeloSensor;
    }

    public void setModeloSensor(ModeloSensor modeloSensor) {
        this.modeloSensor = modeloSensor;
    }
    public String getTipoDescripcion() {
        return this.tipoDescripcion;
    }

    public void setTipoDescripcion(String tipoDescripcion) {
        this.tipoDescripcion = tipoDescripcion;
    }
    public String getUnidad() {
        return this.unidad;
    }

    public void setUnidad(String unidad) {
        this.unidad = unidad;
    }
    public Float getValorMinimo() {
        return this.valorMinimo;
    }

    public void setValorMinimo(Float valorMinimo) {
        this.valorMinimo = valorMinimo;
    }
    public Float getValorMaximo() {
        return this.valorMaximo;
    }

    public void setValorMaximo(Float valorMaximo) {
        this.valorMaximo = valorMaximo;
    }
    public Set getModeloSensors() {
        return this.modeloSensors;
    }

    public void setModeloSensors(Set modeloSensors) {
        this.modeloSensors = modeloSensors;
    }




}

我将感谢你的帮助。提前感谢

您有TipoSensor课程吗?映射hibernate找不到您的类

显示您的
传感器
类,可能是软件包错误。有人有解决方案或真正的意见吗?是的,我有上面提到的所有类。我没有将它们添加到帖子中,因为我认为可能是在*.hbm.xml映射文件中出错。所有POJO的类都必须在sipiaHibernate包中,并且在数据库中必须存在sensor、modelo_sensor和tipo_sensor表(在*.hbm.xml中获取参数表的名称)。Regard提到的所有表都在DB中,所有POJO的类都在sipiaHibernate包中。有人有解决方案或真正的意见吗?您的POJO TipoSensor类怎么样?
<?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 06/08/2012 18:34:16 by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>
    <class name="sipiaHibernate.ModeloSensor" table="modelo_sensor" catalog="gatewaysipia">
        <id name="idmodeloSensor" type="java.lang.Long">
            <column name="idmodelo_sensor" />
            <generator class="identity" />
        </id>
        <many-to-one name="tipoSensor" entity-name="sipiaHibernate.TipoSensor" class="sipiaHibernate.TipoSensor" fetch="select">
            <column name="tipo_sensor_idtipo_sensor" not-null="true" />
        </many-to-one>
        <property name="descripcionModelo" type="string">
            <column name="descripcion_modelo" length="100">
                <comment>Indica el modelo del sensor, por ej, PT100, etc</comment>
            </column>
        </property>
        <set name="tipoSensors"  inverse="true">
            <key>
                <column name="idtipo_sensor" not-null="true" unique="true" />
            </key>
            <one-to-many class="sipiaHibernate.TipoSensor" />
        </set>
        <set name="sensors" inverse="true">
            <key>
                <column name="modelo_sensor_idmodelo_sensor" not-null="true" />
            </key>
            <one-to-many entity-name="sipiaHibernate.Sensor" class="sipiaHibernate.Sensor" />
        </set>
    </class>
</hibernate-mapping>
<?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 06/08/2012 18:34:16 by Hibernate Tools 3.2.1.GA -->
<hibernate-mapping>
    <class name="sipiaHibernate.TipoSensor" table="tipo_sensor" catalog="gatewaysipia">
        <id name="idtipoSensor" type="java.lang.Long">
            <column name="idtipo_sensor" />
            <generator class="identity" />
        </id>
        <many-to-one name="modeloSensor" class="sipiaHibernate.ModeloSensor" update="false" insert="false" fetch="select">
            <column name="idtipo_sensor" not-null="true" unique="true" />
        </many-to-one>
        <property name="tipoDescripcion" type="string">
            <column name="tipo_descripcion" length="45" />
        </property>
        <property name="unidad" type="string">
            <column name="unidad" length="45" />
        </property>
        <property name="valorMinimo" type="java.lang.Float">
            <column name="valor_minimo" precision="12" scale="0" />
        </property>
        <property name="valorMaximo" type="java.lang.Float">
            <column name="valor_maximo" precision="12" scale="0" />
        </property>
        <set name="modeloSensors" inverse="true">
            <key>
                <column name="tipo_sensor_idtipo_sensor" not-null="true"/>
            </key>
            <one-to-many entity-name="sipiaHibernate.ModeloSensor" class="sipiaHibernate.ModeloSensor" />
        </set>
    </class>
</hibernate-mapping>
package sipiaHibernate;
// Generated 06/08/2012 18:34:16 by Hibernate Tools 3.2.1.GA

import java.math.BigDecimal;
import java.util.HashSet;
import java.util.Set;

/**
 * Sensor generated by hbm2java
 */
public class Sensor  implements java.io.Serializable {


     private Long idsensor;
     private ModeloSensor modeloSensor;
     private Mote mote;
     private Proyecto proyecto;
     private short dirSensor;
     private String etiqueta;
     private String ubicacion;
     private BigDecimal gpsLatitud;
     private BigDecimal gpsLongitud;
     private String estadoSensor;
     private Set datosProyectos = new HashSet(0);

    public Sensor() {
    }


    public Sensor(ModeloSensor modeloSensor, Mote mote, short dirSensor, String etiqueta, String ubicacion, String estadoSensor) {
        this.modeloSensor = modeloSensor;
        this.mote = mote;
        this.dirSensor = dirSensor;
        this.etiqueta = etiqueta;
        this.ubicacion = ubicacion;
        this.estadoSensor = estadoSensor;
    }
    public Sensor(ModeloSensor modeloSensor, Mote mote, Proyecto proyecto, short dirSensor, String etiqueta, String ubicacion, BigDecimal gpsLatitud, BigDecimal gpsLongitud, String estadoSensor, Set datosProyectos) {
       this.modeloSensor = modeloSensor;
       this.mote = mote;
       this.proyecto = proyecto;
       this.dirSensor = dirSensor;
       this.etiqueta = etiqueta;
       this.ubicacion = ubicacion;
       this.gpsLatitud = gpsLatitud;
       this.gpsLongitud = gpsLongitud;
       this.estadoSensor = estadoSensor;
       this.datosProyectos = datosProyectos;
    }

    public Long getIdsensor() {
        return this.idsensor;
    }

    public void setIdsensor(Long idsensor) {
        this.idsensor = idsensor;
    }
    public ModeloSensor getModeloSensor() {
        return this.modeloSensor;
    }

    public void setModeloSensor(ModeloSensor modeloSensor) {
        this.modeloSensor = modeloSensor;
    }
    public Mote getMote() {
        return this.mote;
    }

    public void setMote(Mote mote) {
        this.mote = mote;
    }
    public Proyecto getProyecto() {
        return this.proyecto;
    }

    public void setProyecto(Proyecto proyecto) {
        this.proyecto = proyecto;
    }
    public short getDirSensor() {
        return this.dirSensor;
    }

    public void setDirSensor(short dirSensor) {
        this.dirSensor = dirSensor;
    }
    public String getEtiqueta() {
        return this.etiqueta;
    }

    public void setEtiqueta(String etiqueta) {
        this.etiqueta = etiqueta;
    }
    public String getUbicacion() {
        return this.ubicacion;
    }

    public void setUbicacion(String ubicacion) {
        this.ubicacion = ubicacion;
    }
    public BigDecimal getGpsLatitud() {
        return this.gpsLatitud;
    }

    public void setGpsLatitud(BigDecimal gpsLatitud) {
        this.gpsLatitud = gpsLatitud;
    }
    public BigDecimal getGpsLongitud() {
        return this.gpsLongitud;
    }

    public void setGpsLongitud(BigDecimal gpsLongitud) {
        this.gpsLongitud = gpsLongitud;
    }
    public String getEstadoSensor() {
        return this.estadoSensor;
    }

    public void setEstadoSensor(String estadoSensor) {
        this.estadoSensor = estadoSensor;
    }
    public Set getDatosProyectos() {
        return this.datosProyectos;
    }

    public void setDatosProyectos(Set datosProyectos) {
        this.datosProyectos = datosProyectos;
    }   

}
package sipiaHibernate;
// Generated 23/08/2012 15:10:47 by Hibernate Tools 3.2.1.GA


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

/**
 * TipoSensor generated by hbm2java
 */
public class TipoSensor  implements java.io.Serializable {


     private Long idtipoSensor;
     private ModeloSensor modeloSensor;
     private String tipoDescripcion;
     private String unidad;
     private Float valorMinimo;
     private Float valorMaximo;
     private Set modeloSensors = new HashSet(0);

    public TipoSensor() {
    }


    public TipoSensor(ModeloSensor modeloSensor) {
        this.modeloSensor = modeloSensor;
    }
    public TipoSensor(ModeloSensor modeloSensor, String tipoDescripcion, String unidad, Float valorMinimo, Float valorMaximo, Set modeloSensors) {
       this.modeloSensor = modeloSensor;
       this.tipoDescripcion = tipoDescripcion;
       this.unidad = unidad;
       this.valorMinimo = valorMinimo;
       this.valorMaximo = valorMaximo;
       this.modeloSensors = modeloSensors;
    }

    public Long getIdtipoSensor() {
        return this.idtipoSensor;
    }

    public void setIdtipoSensor(Long idtipoSensor) {
        this.idtipoSensor = idtipoSensor;
    }
    public ModeloSensor getModeloSensor() {
        return this.modeloSensor;
    }

    public void setModeloSensor(ModeloSensor modeloSensor) {
        this.modeloSensor = modeloSensor;
    }
    public String getTipoDescripcion() {
        return this.tipoDescripcion;
    }

    public void setTipoDescripcion(String tipoDescripcion) {
        this.tipoDescripcion = tipoDescripcion;
    }
    public String getUnidad() {
        return this.unidad;
    }

    public void setUnidad(String unidad) {
        this.unidad = unidad;
    }
    public Float getValorMinimo() {
        return this.valorMinimo;
    }

    public void setValorMinimo(Float valorMinimo) {
        this.valorMinimo = valorMinimo;
    }
    public Float getValorMaximo() {
        return this.valorMaximo;
    }

    public void setValorMaximo(Float valorMaximo) {
        this.valorMaximo = valorMaximo;
    }
    public Set getModeloSensors() {
        return this.modeloSensors;
    }

    public void setModeloSensors(Set modeloSensors) {
        this.modeloSensors = modeloSensors;
    }




}