摘要: hibernate在加载数据的时候能自动的鉴别其正在的类型get支持多态,load只有把lazy设置为false时才支持多态使用HQL查询数据:List animalList=session.createQuery("from Animal").list();for(Iterator iter=animalList.iterator();iter.hasNext();){ Animal a=(Animal)iter.next(); if(a instanceof Pig) { System.out.println(a.getName()); }else if(a instance Bird) 阅读全文
posted @ 2011-02-19 22:59 魔战 阅读(272) 评论(0) 推荐(0)
摘要: 一,session在什么情况下清理缓存1,默认情况下,当应用程序提交事务,如commit()2,当我们显示调用flush的时候3,在执行某些查询的时候,如:iteratesession.flush()首先清理缓存,然后执行sql实例代码://因为user的主键生成策略是uuid,当session调用save()方法后,只是将user纳入了session的管理不会发出insert语句,但是user的id已经生成,session中existsInDatabase状态为false//因为user的主键生成策略是native,所以调用session.save后,将执行insert语句,返回id,并将u 阅读全文
posted @ 2011-02-19 17:49 魔战 阅读(629) 评论(0) 推荐(0)
摘要: lazy概念:只有真正使用该对象时,才会创建。对于hibernate而言,真正使用时才会发出SQLHibernate3.x,lazy默认是打开的Hibernate Lazy策略使用:<class>标签,可以取值true/false<property>标签,可以取值true/false<set><list>标签,可以取值true/false/extra<one-to-one> <many-to-one>单端关联,可以取值:false/proxy/noproxyload支持lazy,get不支持。=============== 阅读全文
posted @ 2011-02-19 17:19 魔战 阅读(527) 评论(0) 推荐(0)
摘要: package com.jonsion.hibernate;import java.util.Set;public class Role {private int id;private String name;private Set users;public int getId() {return id;}public Set getUsers() {return users;}public void setUsers(Set users) {this.users = users;}public void setId(int id) {this.id = id;}public String g 阅读全文
posted @ 2011-02-19 15:52 魔战 阅读(175) 评论(0) 推荐(0)