一个关于hibernate的问题

dunerunner 2008-09-25 04:30:48
小弟在做hibernate练习的时候遇到个问题:
Could not find a getter for tId in class bean.Student
说Student类中没有tId的get方法
但类中确实有的:
private Integer tId;
public Integer getTId() {
return tId;
}
public void setTId(Integer id) {
tId = id;
}
配置文件中是这样的:<property name="tId" column="t_id" not-null="true" type="integer"/>
如果我把name="tId"改成name="TId"就没有错了,请问这是为什么??

还有如果我把Student类的private Integer tId;改成private Integer teacherId;(get和set也改了)
配置文件中:<property name="teacherId" column="t_id" not-null="true" type="integer"/>
这样也没有问题?这是为什么??

谢谢!希望路过的好心人帮帮忙.
...全文
117 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
MayerChi 2008-09-27
  • 打赏
  • 举报
回复
javaBean命名规范。
whlusha720 2008-09-27
  • 打赏
  • 举报
回复
还是按规范来比较好
zgxzowen 2008-09-27
  • 打赏
  • 举报
回复
把tId改成tid一切正常
xskowscut 2008-09-26
  • 打赏
  • 举报
回复
这个问题真是十分古怪啊。。。说tId中的I大写是一个问题,但是你在配置文件改成TId却可以了,按平常的话应该也会出错才对,真是见鬼。。。我以前就是因为有个叫id的,然后写错getter,写成getid()这样就提错了
dynastytan 2008-09-26
  • 打赏
  • 举报
回复
以上的说明好多是错误的,就我目前的经验说一下:LZ的字段命名需要改一改,tId要改成TId,如果第1个单词只有1个字符的话,一定要大写才可以,如果有2个以上,则没有这个限制。
hardtoregistration 2008-09-26
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 haole 的回复:]
使用hibernate,属性的第二个字符一定不能是大写的
[/Quote]
-----------------------------------------------------
Quietly through ....
  • 打赏
  • 举报
回复
看吧,不好的命名,JVM都不认账哦!
命名不容易,好命名更难



「已注销」 2008-09-26
  • 打赏
  • 举报
回复
使用hibernate,属性的第二个字符一定不能是大写的
zou_wei_forever 2008-09-26
  • 打赏
  • 举报
回复
mark
cy729215495 2008-09-26
  • 打赏
  • 举报
回复
我原来也碰到过,命名不规范,可能是系统的关键字,所以你建数据库的时候一定要规范。所有的字段都要大写,每个字段前面加关键字标识,比如数据类型是字符类型的字段以C开头,整型以I开头等等,这样就不会出现这些莫须有的问题
despotic 2008-09-25
  • 打赏
  • 举报
回复
应该是Eclipse的问题,自动实现setter/getter时它把
public void setTId(Integer tId) {
this.tId =tId;
}
改成了你那种形式。
hl_ghost 2008-09-25
  • 打赏
  • 举报
回复
  估计hibernate的一个bug让你发现了。
理论上你的与数据库对就的那个对象是javaBean是可以了。
<property name="tId" column="t_id" not-null="true" type="integer"/>
他会根据你的tId去找getTId()这个方法来取出你传给hibernate的值。
你看下这个http://blog.csdn.net/hl_ghost/archive/2008/09/22/2963239.aspx,我写了个session模拟了Hibernate的session.
HD拾荒者 2008-09-25
  • 打赏
  • 举报
回复
刚学这个,我来帮你顶贴,顺便学习学习~、
^_^~
dunerunner 2008-09-25
  • 打赏
  • 举报
回复
顶一下
B1977 2008-09-25
  • 打赏
  • 举报
回复
我估计是你的tId的第二个字母的大写的问题
yeah920 2008-09-25
  • 打赏
  • 举报
回复
帮你顶一下.

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧