hibernate错误,帮忙解决。
错误:为什么我的class1=几 就会包错误呢。
from EhealthSanitCompany where class1='2' and address='bbs'
org.hibernate.QueryException: could not resolve property: 2 of:com.hys.ehealth.sanitary.model.EhealthSanitCompany
from EhealthSanitCompany where class1='1' and address='bbs'
org.hibernate.QueryException: could not resolve property: 1 of:com.hys.ehealth.sanitary.model.EhealthSanitCompany
from EhealthSanitCompany where class1='3' and address='bbs'
org.hibernate.QueryException: could not resolve property: 3 of:com.hys.ehealth.sanitary.model.EhealthSanitCompany
这个是映射类
/**
* Generator:g-studio2.25
* Created: 2011/11/2 15:56:46
* Last Modified: 2011/11/2 16:00:37
* Description:
* class EhealthSanitCompanymap
*/
package com.hys.ehealth.sanitary.model;
import java.io.Serializable;
import java.util.Date;
import org.apache.commons.lang.builder.ToStringBuilder;
import com.hys.ehealth.common.model.EhealthPersistentEntityWithICPCODE;
public class EhealthSanitCompanymap extends EhealthPersistentEntityWithICPCODE implements Serializable {
/** 默认构造函数 */
public EhealthSanitCompanymap(){
super.register(new EhealthSanitCompanymapValue());
}
/** 属性:EhealthSanitCompanymapid */
private Integer ehealthsanitcompanymapid;
/**
* 提取属性:ehealthsanitcompanymapid, 对象ID标识
* @return ehealthsanitcompanymapid
*/
public Integer getehealthsanitcompanymapid() {
return this.ehealthsanitcompanymapid;
}
/**
* 设置属性:ehealthsanitcompanymap, 对象ID标识
* @paramehealthsanitcompanymap
*/
public void setehealthsanitcompanymapid(Integer id) {
this.ehealthsanitcompanymapid = id;
}
//属性以及属性读写操作
/** 属性:Id, 物理标识 */
private Integer id;
/** 属性:Class1, 行业类别 */
private String class1;
/** 属性:Colu_id, 列名称 */
private String colu_id;
/** 属性:Colu_name, 列用途说明 */
private String colu_name;
/** 属性:Colu_type, 列类型 */
private String colu_type;
/** 属性:Colu_length, 列长度 */
private String colu_length;
/**
* 提取属性:Id, 物理标识
* @return Id
*//*
public Integer getId(){
return this.id;
}
*//**
* 设置属性:Id, 物理标识
* @param_nId 属性值
*//*
public void setId(Integer _nId ){
this.id = _nId;
}*/
/**
* 提取属性:Class1, 行业类别
* @return Class1
*/
public String getClass1(){
return this.class1;
}
/**
* 设置属性:Class1, 行业类别
* @param_sClass1 属性值
*/
public void setClass1(String _sClass1 ){
this.class1 = _sClass1;
}
/**
* 提取属性:Colu_id, 列名称
* @return Colu_id
*/
public String getColu_id(){
return this.colu_id;
}
/**
* 设置属性:Colu_id, 列名称
* @param_sColu_id 属性值
*/
public void setColu_id(String _sColu_id ){
this.colu_id = _sColu_id;
}
/**
* 提取属性:Colu_name, 列用途说明
* @return Colu_name
*/
public String getColu_name(){
return this.colu_name;
}
/**
* 设置属性:Colu_name, 列用途说明
* @param_sColu_name 属性值
*/
public void setColu_name(String _sColu_name ){
this.colu_name = _sColu_name;
}
/**
* 提取属性:Colu_type, 列类型
* @return Colu_type
*/
public String getColu_type(){
return this.colu_type;
}
/**
* 设置属性:Colu_type, 列类型
* @param_sColu_type 属性值
*/
public void setColu_type(String _sColu_type ){
this.colu_type = _sColu_type;
}
/**
* 提取属性:Colu_length, 列长度
* @return Colu_length
*/
public String getColu_length(){
return this.colu_length;
}
/**
* 设置属性:Colu_length, 列长度
* @param_sColu_length 属性值
*/
public void setColu_length(String _sColu_length ){
this.colu_length = _sColu_length;
}
//重写父类方法
public String toString() {
return new ToStringBuilder(this).append("EhealthSanitCompanymap",
getId()).toString();
}
/* (non-Javadoc)
* @see com.hys.ehealth.common.model.EhealthPersistentEntity#getId()
*/
public Integer getId() {
return getehealthsanitcompanymapid();
}
/* (non-Javadoc)
* @see com.hys.ehealth.common.model.EhealthPersistentEntity#setId(java.lang.Integer)
*/
public void setId(Integer id) {
this.setehealthsanitcompanymapid(id);
}
}
这个是映射文件
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
<!--
Generator:g-studio2.25
Created: 2011/11/2 15:35:49 by HYS
Last Modified: 2011/11/2 15:55:48
Description:
hibernate-mapping for EhealthSanitCompany
-->
<class
name="com.hys.ehealth.sanitary.model.EhealthSanitCompany"
table="EHEALTH_SANIT_COMPANY"
lazy="false"
>
<!--属性字段:id, 主键-->
<id
name="id"
type="java.lang.Integer"
column="ID"
length="10"
>
<generator class="sequence">
<param name="sequence">ARCH_EHEALTHSANITCOMPANYID_SEQ</param>
</generator>
</id>
<!--属性字段:comp_name, 单位名称-->
<property
name="comp_name"
type="java.lang.String"
column="COMP_NAME"
length="100"
/>
<!--属性字段:class1, 行业类别-->
<property
name="class1"
type="java.lang.String"
column="CLASS1"
length="1"
/>
<!--属性字段:class2, 二级分类-->
<property
name="class2"
type="java.lang.String"
column="CLASS2"
length="10"
/>
<!--属性字段:address, 单位地址-->
<property
name="address"
type="java.lang.String"
column="ADDRESS"
length="200"
/>
<!--属性字段:manager, 法人代表-->
<property
name="manager"
type="java.lang.String"
column="MANAGER"
length="20"
/>
<!--属性字段:telphone, 电话-->
<property
name="telphone"
type="java.lang.String"
column="TELPHONE"
length="50"
/>
<!--属性字段:status, 关停标志-->
<property
name="status"
type="java.lang.String"
column="STATUS"
length="1"
/>
<!--属性字段:icpcode, 归属乡镇机构-->
<property
name="icpcode"
type="java.lang.String"
column="ICPCODE"
length="30"
/>
<!--属性字段:cruser, 记录修改人-->
<property
name="cruser"
type="java.lang.String"
column="CRUSER"
length="30"
/>
<!--属性字段:crtime, 记录修改时间-->
<property
name="crtime"
type="java.util.Date"
column="CRTIME"
length="30"
/>
<!--属性字段:field1, 扩展字段1-->
<property
name="field1"
type="java.lang.String"
column="FIELD1"
length="50"
/>
<!--属性字段:field2, 扩展字段2-->
<property
name="field2"
type="java.lang.String"
column="FIELD2"
length="50"
/>
<!--属性字段:field3, 扩展字段3-->
<property
name="field3"
type="java.lang.String"
column="FIELD3"
length="50"
/>
<!--属性字段:field4, 扩展字段4-->
<property
name="field4"
type="java.lang.String"
column="FIELD4"
length="50"
/>
<!--属性字段:field5, 扩展字段5-->
<property
name="field5"
type="java.lang.String"
column="FIELD5"
length="50"
/>
<!--属性字段:field6, 扩展字段6-->
<property
name="field6"
type="java.lang.String"
column="FIELD6"
length="50"
/>
<!--属性字段:field7, 扩展字段7-->
<property
name="field7"
type="java.lang.String"
column="FIELD7"
length="50"
/>
<!--属性字段:field8, 扩展字段8-->
<property
name="field8"
type="java.lang.String"
column="FIELD8"
length="50"
/>
<!--属性字段:field9, 扩展字段9-->
<property
name="field9"
type="java.lang.String"
column="FIELD9"
length="50"
/>
<!--属性字段:field10, 扩展字段10-->
<property
name="field10"
type="java.lang.String"
column="FIELD10"
length="50"
/>
<!--属性字段:field11, 扩展字段11-->
<property
name="field11"
type="java.lang.String"
column="FIELD11"
length="100"
/>
<!--属性字段:field12, 扩展字段12-->
<property
name="field12"
type="java.lang.String"
column="FIELD12"
length="100"
/>
<!--属性字段:field13, 扩展字段13-->
<property
name="field13"
type="java.lang.String"
column="FIELD13"
length="100"
/>
<!--属性字段:field14, 扩展字段14-->
<property
name="field14"
type="java.lang.String"
column="FIELD14"
length="100"
/>
<!--属性字段:field15, 扩展字段15-->
<property
name="field15"
type="java.lang.String"
column="FIELD15"
length="100"
/>
</class>
</hibernate-mapping>
[解决办法]
我靠,名字不一样啊?
配置文件中EhealthSanitCompany
映射类叫做EhealthSanitCompanymap
[解决办法]
1、把sql或者hql语句现在数据库管理工具执行下,看是否正常
2、看看是不是有缓存
3、找问题
[解决办法]
sql 语句如果没用hql的话你的这样写 String sql="select * from EhealthSanitCompany where class1 = '2' and address='bbs'"
如果是"from EhealthSanitCompany where class1 =? and address=?"
query.setParameter(0,参数一)
query.setParameter(0,参数二)