一直以為,在Hiberenate中用多對(duì)一關(guān)系表達(dá)外鍵,并設(shè)置為延遲加載時(shí),Hibernate不會(huì)在查主表時(shí)去查引用表。今天的測(cè)試卻發(fā)現(xiàn)不是這么回事。
我定義了一個(gè)Topic類,其中有一個(gè)外鍵引用Company類:
?



?
測(cè)試HQL如下:select id, company from Topic
而我期望的SQL應(yīng)當(dāng)是這樣:select boid, company from DT_TOPIC.
結(jié)果Hiberate Tools 生成的SQL是這樣:
?












?
Hibernate生成的SQL多做了兩件影響性能的事情:
1, 與XPC_COMPANY進(jìn)行inner join。
2,把XPC_COMPANY中的所有字段全取出來(lái)了。
這樣還叫什么延遲加載啊?
?
哪位高手能告訴我這是為什么?