编程资料集中营
 | 网站首页 | 文章中心 | 编程资料2 | 软件下载 | BT下载 | 八卦星闻 | 音乐在线 | 在线游戏 | 免费电影 | 进入问吧 | 
例子:(应该说是一对多的关系 部门对项目组),,
您现在的位置: 编程资料,学习资料,c,c++,vc,vc++,java,jsp,j2ee,j2me,asp,php >> 文章中心 >> JAVA 专区 >> Hibernate 技术 >> 文章正文
【字体:
例子:(应该说是一对多的关系 部门对项目组)   进入问吧

本站地址:http://www.bajiao123.com

作者:admin    文章来源:网络    点击数:    更新时间:2006-12-27    

例子:(应该说是一对多的关系 部门对项目组)

来源:WEB开发资源联盟(http://cnpoint.com/)
作者:point
原文:例子:(应该说是一对多的关系 部门对项目组)(http://cnpoint.com/framwwork/2006/1215/content_4751.htm)

例子:(应该说是一对多的关系 部门对项目组)

部门 和 项目组

部门表为:id,name

项目组表为id,groupid,name

一个部门有多个项目组,比如:

第一部门有项目一组,项目二组

第二部门有项目一组,项目二组,项目三组.



我想用户通过选择部门,添加想要删除的项目组的名称,比如 删除 第一部门的 项目一组, 如何做?



下面是我的代码,希望大家给我指点下,hibernate刚接触不到一个月,多多请教大家.

-------------

看了这个文章后:

http://dev.csdn.net/develop/article/55/55930.shtm(先看此文章)



按照最基本的思路,应该是先找到牌照为“A00002”的一个对象,如:

 ai =

    (AutoInfo) session.find(

     "from AutoInfo where LICENSE_PLATE='A00002'").get(

     0);

//找到该对象属于的 one的 对象

   people = ai.getOwnerNo();

//将该对象从one里remove

   people.getAutoInfoSet().remove(ai);

//删除该对象

   session.delete(ai);

-------

但是有个问题,牌照为“A00002” 在该表中是唯一存在的,也就是没有重复的记录,

查询中能找到一个固定的对象,但是我的表中项目一组可以有多个,仅仅是部门不一样罢了.又该如何做呢? 根据指定的项目组查询出来的记录就有多条.该如何做呢?

请教大家,最好能给出代码.谢谢!















          
liutjedu 单身移民 一级(初级) 信誉: 90 2005-11-27 17:04:27 得分: 0  
                  



已经实现了,有人回复下就结帐了!

顺便把我的代码也贴出来,希望大家指正!

//删除项目组

public void delProjectGroup(String projectGroup,Integer jldeptID){

//查找用户指定了部门和项目小组的记录

StringBuffer sb = new StringBuffer(100);

sb.append("select projectgroup ");

sb.append("from Department dept inner join dept.projectgroups projectgroup ");

sb.append("where dept.id='"+jldeptID+"' and projectgroup.groupid='"+projectGroup+"'");

try{

System.out.println(jldeptID+"**************");

System.out.println(projectGroup+"**************");

//打开一个Session

Session session = HibernateSessionFactory.currentSession();

//查询该指定条件的记录

Query query = session.createQuery(sb.toString());

list = query.list();

System.out.println(list.size());

//将查询的记录转为Projectgroup对象

Projectgroup delpg = (Projectgroup) list.get(0);

System.out.println(delpg.getGroupid());

//找出和delpg对象关联的部门

Department dept = delpg.getDepartment();

System.out.println(dept.getName());

//脱离和该部门的关系

dept.getProjectgroups().remove(delpg);

//删除该项目小组

session.delete(delpg);

session.beginTransaction().commit();

HibernateSessionFactory.closeSession();

}catch(HibernateException he){

he.printStackTrace();

}

}







     


   

进入问吧

本站地址:http://www.bajiao123.com

文章录入:admin    责任编辑:admin 
高级搜索
编程资料集中营