网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>JAVA>>新手入门>>基础入门>查看文档  
  开源技术:hibernate点滴     
  文章作者:未知  文章来源:水木森林  
  查看:81次  录入:管理员--2007-11-17  
 
  这几天在学习hibernate,把一些碰到的问题给写下来,以后避免犯重复的问题:
1,在进行query类操作的时候session需在最后关闭;
例如:
try {
   query query = session.createquery(sql);
    list = query.list();
   tx.commit();   
  } catch (hibernateexception e) {
   e.printstacktrace();
  }
。。对list操作的一些代码。。
session.close();
 
经常看到网上会这样写:
try {
   query query = session.createquery(sql);
    list = query.list();
   tx.commit();   
   session.close()
  } catch (hibernateexception e) {
   e.printstacktrace();
  }
结果他没有对list进行过多的操作,可能是我理解的角度有问题,然后我也用了网上的例子,然后对list进行操作,结果在对list进行操作的时候会忽然中断掉,原来是session的问题,只要把session.close()放到list操作代码后面,就不会出现中断的问题。
2.几个高度概括的操作:
public boolean update(object o){
  try{
   session.update(o);
   tx.commit();
   session.close();
  }catch(hibernateexception e){
   e.printstacktrace();
   return false;
  }
  return true;
 }
 
 public boolean delete(object o){
  try{
   session.delete(o);
   tx.commit();
   session.close();
  }catch(hibernateexception e){
   e.printstacktrace();
   return false;
  }
  return true;
 }
直接对session进行操作,可能会产生问题。。目前还没有学习事务处理,先搁着吧。
3,一对一关联操作:
一对一关系有两种形式,一种是共享主键方式,另一种是惟一外键方式,最常用的我想应该是唯一外键方式了吧
简单例子,
表一 employee(id,name,deptid)(deptid是外键)
表二 dept(id,name)
我们需要对employee对应的hbm文件进行修改:
把原来的
<property name="deptid" column="deptid" />
改成
<many-to-one name="dept" class="hib.bo.dept" column="deptid" unique="true"/>
然后在po里面也要进行修改:
把deptid属性改成dept对象,这样就可以了。
然后如果要查询员工号为1的部门名称,那么我们就可以通过employee.getdept().getname()进行查询,
如下是查询所有的员工信息:
sql = "from employee employee"; 
  try {
   query query = session.createquery(sql);
   list = query.list();
   tx.commit();   
  } catch (hibernateexception e) {
   e.printstacktrace();
  }
如果要查询相对应的员工号的员工,那么我们可以通过employee.getdept().getname()进行查询。
 
 
上一篇: struts2的struts.properties配置文件详解    下一篇: 用cashfilter实现页面级缓存实践
  相关文档
javatm studio creator 入门 11-17
java学习方法浅谈 11-17
tolocaledatestring 方法 11-16
用java程序生成文本的捷径 11-16
对java编程中常用修饰词使用方法的介绍 11-16
java课堂:初学者都必须理解的几个问题 (1) 08-26
eclipse,netbeans,intellij:java ide的对比分析 11-17
jetspeeed简单开发文档 11-17
在浏览器关闭cookie情况下进行会话管理 11-17
java applet编程之声音和图像的协调 11-17
getdrivename 方法 11-16
关于 javawebframework 的选择 11-17
死锁 11-17
理解jtwi的具体内容和作用 11-17
rms 从入门到精通౿.. 11-17
写了一个hta来转换资源文件格式 11-17
java中正则表达式的应用(1) 11-17
j2ee基础:jndi定义oracle数据源的方法 11-16
使用jsr-184里的sprite3d对象 11-17
java开源项目研究 1. 引子 11-17
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
技术电话:13616026886
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息