今天开发中遇到一个奇怪的hibernate错误
我的数据库中一个表中有个字段名叫id,但是它并不是主键
用hibernate映射后为
XML语言:
1 <id name="apprId" type="java.lang.Long">
2 <column name="APPR_ID" precision="11" scale="0" />
3 <generator class="assigned" />
4 </id>
5 <property name="Id" type="java.lang.Long">
6 <column name="ID" precision="11" scale="0" />
7 </property>
而我当执行这样的hibernate的HQL的时候
SQL语言:
1 from RcUApprInfo as model where model.Id = ?
hibernate解析成sql语句竟然是
SQL语言:
1 select ...... from rc_u_appr_info where as model where model.APPR_ID = ?
跟踪了好几遍,都是这样
在确定自己的代码没问题后,想到可能是hibernate理解错了
于是将Id改成了别的名
再试,竟然没问题了
难道hibernate将凡是叫Id的都认为成主键??不解 不解