2 zmjmvp zmjmvp 于 2016.01.17 20:21 提问

关于hibernate的配置命名问题求解答

一直报org.hibernate.PropertyNotFoundException: Could not find a getter for name in class cn.zmj.bean.Service

我感觉我的命名并没有错

User.hbm.xml:

 <set name="service" cascade="all" lazy="true">
<key column="user"></key>
<one-to-many class="Service" />
</set>


<set name="manage" cascade="all" lazy="true">
<key column="manage"></key>
<one-to-many class="Service" />
</set>




User:


private Set<Service> service = new HashSet<Service>();
private Set<Service> manage = new HashSet<Service>();


public Set<Service> getService() {
return service;
}
public void setService(Set<Service> service) {
this.service = service;
}
public Set<Service> getManage() {
return manage;
}
public void setManage(Set<Service> manage) {
this.manage = manage;
}




Service.hbm.xml:


<many-to-one name="user" class="User" column="user"></many-to-one>


<many-to-one name="manage" class="User" column="manage"></many-to-one>


Service:


private User user;
private User manage;


public User getManage() {
return manage;
}
public void setManage(User manage) {
this.manage = manage;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}

2个回答

caozhy
caozhy   Ds   Rxr 2016.01.17 20:32
wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.01.17 20:51

检查下这个class cn.zmj.bean.Service类中有没有name属性,name属性生成get/set方法了没有。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
hibernate 命名策略
在Java对象里面, 偶们知道一个良好的命名规范会采用大写单词的首字母, 比如订单项这个对象, 偶们会起名为OrderItem, 这样很容易就看出来这个对象是由Order和Item 2个单词组成的, 断词就很容易了, 而属性也是如此, 比如maxPrice, totalPrice等等. 但是如果按照同样的命名规范运到数据库的时候, 由于很多数据库对于表名, 字段名是大小写不敏感的, 所以最常
hibernate实体类配置文件,一般命名为 类名.hbm.xml
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"     "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">              name: 实体类全路径         table: 数据库表名称     -->                          
hibernate 表 命名策略
Hibernate注释下的自定义架构实现 译者:Tanya   对于Java开发人员,Hibernate 3 annotations提供了非常好的方式来展示域分层。你可以很轻松的通过Hibernate自动生成需要的数据库架构,带有完整的SQL脚本。然而回到现实世界,你还需要考虑到,有时数据库管理员所使用的模糊的命名惯例。本文中,“Java Power Tools”的作者John Fergu
Hibernate中的命名查询(学习笔记)
Hibernate命名查询的配置   将HQL查询语句编写在关系映射文件时,在程序中通过Session的getNameQuery()方法获取该查询语句。 Account.hbm.xml     Hibernate命名查询的应用   命名查询语句可以是HQL语句,也可以是本地SQL语句,代码程序也不区分命名查询语句的类型,一律通过Se
Hibernate中实体映射时的命名策略(1)
有时候在实体类映射成数据库表时,我们并不太注意生成的表和列的名称,都是使用默认的名称策略,有的是干脆不使用`@Column`注解,直接使用字段名;有的则在`@Column`注解中使用`name`属性定义自己的名称,但是有时候比如说设计一个数据库有统一前缀或者后缀,上面两种方式就不适用了,而需要统一的设计命名策略,本篇文章对这部分进行总结!
Hibernate中的命名查询
什么是命名查询?  Hibernate允许在映射文件中定义字符串形式的查询语句,这种查询方式成为命名查询  使用命名查询有什么好处?  由于使用Hibernate的HQL常常需要在Java代码中写字符串查询语句,HQL混杂在代码之间,破坏代码可读性,通过使用命名查询,可以使业务逻辑和查询语句分离,使您专注于查询,而避免了 SQL 或者 HQL 代码分散于整个应用程序中的情况。 
hibernate配置文件,一般命名为hibernate.cfg.xml
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"     "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">                       com.mysql.jdbc.Driver         jdbc:mysql:///hibernat
Hibernate:命名SQL查询
Hibernate:命名SQL查询
Hibernate中HQL命名查询和SQL命名查询
一、HQL中的命名查询 在class配置文件外<query name="findEmpById"> <![CDATA[from Emp where empNo=:empNo]]> </query> @org.junit.Test //HQL命名查询,通过配置文件 public void findEmpById(){ session=HibernateUtil.
Hibernate之注解表的命名策略
对于hibernate注解实体中属性对应数据库表的列名,怎么命名的问题,我们肯定不愿一个个属性去配置吧 在applicationContext.xml中的sessionFactory中配置 Caused by: org.springframework.beans.NotWritablePropertyException: Invalid property 'namingSt