List students = session.createQuery("select s.name from Student s where s.name like '%1%'").list();
可以正常运行
List students = session.createQuery("select s.name from Student s where s.classes.name like '%1%'").list();
报错 org.hibernate.QueryException: could not resolve property: classes of
------------------------------------------------------------------
public class Student {
public Student() {
}
public Student(int id, String name) {
this.id = id;[code=XML]
this.name = name;
}
private int id;
private String name;
private Date createDate;
private Classes classes;
public Classes getClasses() {
return classes;
}
public void setClasses(Classes classes) {
this.classes = classes;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}}[/code]<?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 >
<class name="com.byz.hibernate.Student" table="t_student">
<id name="id">
<generator class="native"/>
</id>
<property name="name" />
<property name="createDate"/>
<many-to-one name="Classes" column="cid"/>
</class>
</hibernate-mapping>------------------------------------------------------------------package com.byz.hibernate;import java.util.Set;public class Classes {
private int id;
private String name;
private Set<Student> students;
public Set<Student> getStudents() {
return students;
}
public void setStudents(Set<Student> students) {
this.students = students;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}}
<?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 package="com.byz.hibernate" >
<class name="Classes" table="t_classes">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<set name="students" inverse="true" cascade="all">
<key column="cid"/>
<one-to-many class="Student"/>
</set>
</class>
</hibernate-mapping>--------------------------------------------------------
可以正常运行
List students = session.createQuery("select s.name from Student s where s.classes.name like '%1%'").list();
报错 org.hibernate.QueryException: could not resolve property: classes of
------------------------------------------------------------------
public class Student {
public Student() {
}
public Student(int id, String name) {
this.id = id;[code=XML]
this.name = name;
}
private int id;
private String name;
private Date createDate;
private Classes classes;
public Classes getClasses() {
return classes;
}
public void setClasses(Classes classes) {
this.classes = classes;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}}[/code]<?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 >
<class name="com.byz.hibernate.Student" table="t_student">
<id name="id">
<generator class="native"/>
</id>
<property name="name" />
<property name="createDate"/>
<many-to-one name="Classes" column="cid"/>
</class>
</hibernate-mapping>------------------------------------------------------------------package com.byz.hibernate;import java.util.Set;public class Classes {
private int id;
private String name;
private Set<Student> students;
public Set<Student> getStudents() {
return students;
}
public void setStudents(Set<Student> students) {
this.students = students;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}}
<?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 package="com.byz.hibernate" >
<class name="Classes" table="t_classes">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<set name="students" inverse="true" cascade="all">
<key column="cid"/>
<one-to-many class="Student"/>
</set>
</class>
</hibernate-mapping>--------------------------------------------------------
解决方案 »
- org.hibernate.HibernateException:Could not parse configuration/hibernate.cfg.xml
- 大话帮我看看,我这条分页SQL有什么问题啊?在线等!
- java条件检索xml
- 准备用weblogic开发,哪个版本的好
- <jsp:param>这个怎么解释能不能比如一下?
- 如何 从oracle 数据库读取数据 生成 动态树 ???
- 会用正则表达式的进来
- Weblogic运行jsp的问题
- 在windows xp 下配置tomcat 5.0 和apache 2.0 的问题
- Maven项目Efftive Pom里的一些自动配置的包的版本取决于什么
- tomcat配置二级域名的问题
- SSH 插入主键问题急!
可以正常运行
List students = session.createQuery("select s.name from Student s where s.classes.name like '%1%'").list();
报错 org.hibernate.QueryException: could not resolve property: classes of 各位请帮帮忙,谢谢!! public class Student {
public Student() {
}
public Student(int id, String name) {
this.id = id;this.name = name;
} private int id;
private String name;
private Date createDate;
private Classes classes; public Classes getClasses() {
return classes;
}
public void setClasses(Classes classes) {
this.classes = classes;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
} public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
} }
<?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 >
<class name="com.byz.hibernate.Student" table="t_student">
<id name="id">
<generator class="native"/>
</id>
<property name="name" />
<property name="createDate"/>
<many-to-one name="Classes" column="cid"/>
</class>
</hibernate-mapping>package com.byz.hibernate;import java.util.Set;public class Classes {
private int id;
private String name;
private Set<Student> students;
public Set<Student> getStudents() {
return students;
}
public void setStudents(Set<Student> students) {
this.students = students;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}}
<?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 package="com.byz.hibernate" >
<class name="Classes" table="t_classes">
<id name="id">
<generator class="native"/>
</id>
<property name="name"/>
<set name="students" inverse="true" cascade="all">
<key column="cid"/>
<one-to-many class="Student"/>
</set>
</class>
</hibernate-mapping>
应该就是classes这里的错误。
<one-to-many class="Student"/>把包名写上试试。