源代码是: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语句)
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语句)
解决方案 »
- java模拟登录网页
- jsf中如何根据id直接访问组件,如何在后台bean中访问普通html组件
- <form action="./controller_Servlet" >中的action="./controller_Servlet“什么意思
- 求救!求救!求救!求救!求救!求救!求救!头都大了!!
- 严重: Servlet.service() for servlet jsp threw exception
- dojo树问题
- 请问在JSP中用自己写的javabean应放在哪里
- 请问为什么JBOSS要和TOMCAT结合?
- 我用jbuilder8编写的applet小程序,在浏览器可以调用,但是没有数据。
- 请问HTTP Response Header和body是以什么做分隔的?
- serverlet 加 applet 分组通讯,怎样实现serverlet只发送数据到特定几个客户端的APPLET
- http://xxx/login.htm?_lang=ja_JP%3Autf8,请问这里为什么要加个%3Autf8啊?
从这句话来看,你是通过member对象得到role的对象,再从role得到roleName
当然要执行两条select 语句啦