補充:HQL進階
命名查詢
<hibernate-mapping>
table="users">
<!--
</class>
name="loginUser">
<![CDATA[
from
User u where u.name =:name and u.password
=:password
]]>
</hibernate-mapping>
查詢語句,它和<class>元素并列
語句
對象的getNamedQuery()方法獲取該查詢語句
本地SQL 查詢
總結
HQL優化從哪幾個方面考慮?
Hibernate數據加載方式有哪些?有什么區別?
HQL聯接查詢有幾種方式?
在映射文件中如何定義命名查詢?
如何使用本地SQL查詢?
補充:
List不走緩存,不分步查詢iterater緩存、分步
[fetch]
把第二個對象作為第一個對象的一部分,會對結果影響。
<![CDATA[ SQL語句] ]>
cdata避免重載字符(特殊符號)的編譯
String sql = "select {u.*} from users";
加上"{}"是屬性,不加是字段
執行SQL時,SQLQuery query =
session.createSQLQuery(sql).addEntity("u",User.class); 把聲明的u給填充進去,有多少實體聲明過,都需要填充(.addEntity())