Hibernate小记 - lirunjie1124的日志 - 网易博客
来源:百度文库 编辑:神马文学网 时间:2024/05/01 13:22:33
User user=new User(); //User 为Hibernate 映射类,User中关联Orders表,User 与Order为一对多关系
Hibernate.initialize(user); //当.hbm映射文件中设置延迟加载的时候用来 初始化关联类
Hibernate.initialize(user.getOrders()) 初始化 user并加在关联类,user.getOrders()返回Set集合
lazy="true //开启延迟加载
select-before-update="true" //放入 unsaved-value=0 //设置 id的默认值,用于区别对象为临时对象或游离对象 "from User user where lower(user.name)='lirunjie'" //将数据库中字符串转为小写在比对 "from User user where upper(user.name)='lirunjie'" //将数据库中字符转为大写在比对 "from User user where upper(user.name) in('Tom','lirunjie','lixiaojie')" //检索姓名可能是 tom 或lirunjie 或lixiaojie的对象 "from User user where between 18 and 25" //检索年龄在18 到 25岁之间的 "from User user where not between 18 and 25" //检索年龄不在18 到 25岁之间的 Query query=session.createQuery("from user c feft join fetch c.orders o") //使用连接查询,查询出主表与关联表 值得注意的是 query 检索出来的集合最好用 HashSet接HashSet set=new HashSet(list);不然会有重复数据 Query q=s.createSQLQuery("select {c.*} from User as c").addEntity("c", user.getClass()); //SQL方式查询 hibernate 缓存的三大作用 : 1.减少数据库的访问频率,提高数据访问性能。 2.保证数据库中的数据与缓存中的对象保持同步。 3.当缓存中的持久化对象之间存在循环关联是,session保证不出现访问对象的死循环。
column="userId" 外键
class="moisten.hibernate.User" 对应类的包
cascade="save-update" 开启关联保存、更新
not-null="true"
/>