初学hibernate,问个查询的问题。
源代码是: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语句)