Hibernate 随笔总结

1.关于<set><key column="??"/></set> 
      column 的取值是当前**.hbm.xml的id的column的值,也即:column值为当前类id值。

2.关于cascade理解。
   * 表room (r_id,u_id,r_name) 记录(rid1,uid1,roomName1).
   * 表user (u_id,u_name) 记录(uid1,uName1).
   其中 room : user = 1 : N
   例1: 如果同时想把 user的uName1字段值改为uName2,room的roomName1改为roomName2。若此时user.hbm.xml的cascade="update",那么:
       room.setName(roomName2);
       user.setName(userName2);
       session.update(user);
    就可以同时把roomName也同时更新的room中。
    因为cascade的存在,所以,更改user的同时,room也同时级联的被修改,而不用编写
session.update(room)语句。

3.尽量将页面代码中的sql语句直接嵌入*.hbm.xml文件中,而不要出现在代码里。这样方便了对sql语句的维护,防止了硬编码。然后在通过构建类似 List query(Map<String,Object>) {},这样的函数来取得*.hbm.xml中sql的查询条件变量以及给其赋值。

4.首次用到了用throws Throwable类来代替Excetion, Throwable是Error和Exception的父类。相关文章上网上去了解。

你可能感兴趣的:(sql,Hibernate,xml)