hibernate 未明确定义列错误

今天在项目中碰到这个错误,经过初步调试找到了错误的位置,将打印出的SQL语句拿到PL/SQL里面执行,发现出现了如下问题
select
[color=darkred]this_.Bdz_id [/color]as Bdz1_480_7_,
this_.gis_id as gis2_480_7_,
this_.jg_id as jg3_480_7_,
this_.bianma as bianma480_7_,
this_.mingzi as mingzi480_7_,
this_.userflag as userflag480_7_,
this_.nosf6 as nosf7_480_7_,
[color=darkred] this_.bdz_id [/color]as bdz1_480_7_,
对于bdz_id字段查询了两次,所以在外层再次嵌套查询的时候会出现未明确定义列,出现此问题的原因是什么呢?经过思考,只可能是配置文件出错,详细检查后发现
<composite-id>
<key-property name="bdzId" type="java.lang.Short">
<column name="[color=red]Bdz_id[/color]" />
</key-property>
<key-property name="gisId" type="java.lang.Short">
<column name="gis_id" />
</key-property>
</composite-id>
而在多对一的配置时候
<many-to-one name="bdz" class="com.hs.omds.model.MsBiandianzhan"
cascade="save-update" insert="false" update="false" outer-join="true">
<column name="[color=red]bdz_id[/color]" />
</many-to-one>
所以才会出现查询了两次bdz_id,只要把两处改成一样即可
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值