某天,我在编码时写了这样一个Entity:
@Entity
@Table(name
=
"
T_INT_PHYSICLINK
"
)
public
class
PhysicLink
extends
BaseEntity {
...
/**
* 物理连接a端实体类型
*/
private
int
aType;
/**
* 物理连接a端实体id
*/
private
String aId;
/**
* 物理连接z端实体类型
*/
private
int
zType;
/**
* 物理连接z端实体id
*/
private
String zId;
...
//
省略setter跟getter方法
}
由于业务需要,我写了这样一个hql:
from PhysicLink p where p.aId in (...
但是在代码中调用这个hql时一直抛异常,说是PhysicLink中没有aId这个属性,但它明明在那儿呀,我
真搞不懂hibernate为什么会报这样的错,好想痛打它一顿!
鼓捣了半天没能解决,把小哼叫过来帮忙查错,他看了后也说没遇到过这样离奇的情况,靠,难道是灵
异事件?于是又两个人开始鼓捣,鼓啊鼓,捣啊捣,终于,在把hql砍得只剩from PhysicLink时运行成
功,一个不经意的念头让我们查看了控制台的由hql生成的sql,靠,总算找到了问题所在,原来
hibernate把aId映射成AId,问题解决了,但是还是不明就里。最后,向大家推荐一款非常cool的工具,
可以直接书写并运行hql,就像在pl/sql中运行sql一样,它提供的代码辅助功能可以帮你纠正拼写错误
,这样你就不会出现前面提到的灵异事件咯~```它到底是什么呢?那就是大名鼎鼎的hibernate tools,
它是eclipse的一个插件,可以到jboss网站上下载,非常的简单易用,赶快去试一下吧^_^
Java
咖啡群欢迎大家加入
(
加群者送分
,
顶帖者也送分哈
),
群号
:60446231
本群以讨论
IT
行业话题为主
,
本着交流信息的原则
,
为大家营造一个轻松欢娱的环境
,
给平时枯燥的工作增添一些调味剂
.
当然
,
技术问题同样在讨论范围之中
.
本人在这里欢迎大家的到来
,
并预祝大家五一快乐
.(
鼓掌
...
谢谢
...
嘿嘿
...)
Java
基础群
:49827836
为
java
初学者提供帮助,在讨论及解决问题中共同成长。