初学hibernate,问个查询的问题。

codeartisan 2007-10-27 05:16:52
源代码是:System.out.println(member.getRole().getRoleName());

以下是输出的SQL语句:
Hibernate:
select
trole0_.roleid as roleid0_0_,
trole0_.rolename as rolename0_0_
from
t_role trole0_
where
trole0_.roleid=?
Hibernate:
select
members0_.role_id as role10_1_,
members0_.memberid as memberid1_,
members0_.memberid as memberid1_0_,
members0_.membername as membername1_0_,
members0_.memberpwd as memberpwd1_0_,
members0_.nickname as nickname1_0_,
members0_.sex as sex1_0_,
members0_.birthday as birthday1_0_,
members0_.underwrite as underwrite1_0_,
members0_.memberhead as memberhead1_0_,
members0_.state as state1_0_,
members0_.role_id as role10_1_0_
from
t_member members0_
where
members0_.role_id=?

之前已经通过SQL查询得到一个member了,本来根据这个member的role_id去role表查询对应的rolename就行了。
可是为什么查询完了rolename又再来一句select * from t_member as members0_ where member0_.role_id=?(就是上面第二个“Hibernate:”后面的那段SQL语句)
...全文
71 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
codeartisan 2007-10-27
  • 打赏
  • 举报
回复
要得到roleName,去查询member表做什么?
codeartisan 2007-10-27
  • 打赏
  • 举报
回复
得到role对象了,还需要去查询吗?
Dalin_Peng 2007-10-27
  • 打赏
  • 举报
回复
member.getRole().getRoleName()
从这句话来看,你是通过member对象得到role的对象,再从role得到roleName
当然要执行两条select 语句啦

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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