hibernate中could not resolve property和is not mapped的问题

最近在学ssh,遇到了一些问题,这里我记录两个关于hibernate的问题。is not mapped表示映射出了错,在我写的删除语句:"from Role_right rr where rr.role_id = "+roleId,其中的role_right是数据库的表名,role_id是该表的一个字段名。我的相应配置文件代码是这样的:

<class name="cn.edu.scu.urims.common.entities.RoleRight" table="role_right" catalog="urims">

         <id name="roleRightId" type="java.lang.Integer">
                 <column name="role_right_id" />
                 <generator class="identity" />
        </id>

         <many-to-one name="role" class="cn.edu.scu.urims.common.entities.Role" fetch="select">
                 <column name="role_id" not-null="false" />
        </many-to-one>

</class>

当执行删除的时候,就报错说  is  not mapped。以前以为from后面直接跟表名,因为老师这么讲的,只是表名的第一个字母要大写,到现在出现错了才明白原因。hibernate查询的是映射的类名,而不是自己的表名,所以会出现映射出错。从这里看,红色字体才是hibernate的类名,因此查询的时候应该写RoleRight,而不是表名role_right。

这样子改了又出现了一个问题:could not resolve property。从字面上理解就是无法辨别的属性,其实和上面那个问题类似,都是在hibernate文件映射的时候出的问题,蓝色字为RoleRight的属性,而不是去查询表中的role_id字段,所以正确的查询语句应该是"from RoleRight rr where rr.role = "+roleId,


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值