1,如果你的數據庫中 学号和学期 是唯一的話。
可以在BO層的類中 先new 一個新對象, 然后把学号和学期設置到對象里 然后調用Dao里的remove×××方法
exam: Student stu = new Student();
stu.setStuId('012'); //此值設置為你得到的值
stu.setTerm('1'); //此值設置為你得到的值
studentDao.removeStudent(stu);2,如果不能組成唯一的話,就是說數據庫中會存在学号和学期相同的兩條記錄,你可以在Dao類里自己寫個方法。
public void removeElbook421ab(String caseid,String custid) {
/*Elbook421ab elbook421ab = new Elbook421ab();
elbook421ab.setCaseid(caseid);
elbook421ab.setCustId(custid);
List list = this.getElbook421abs(elbook421ab); //先根據2個ID查出對象
if(list == null || list.size()<=0) return;
for(int i=0;i<list.size();i++) {
getHibernateTemplate().delete(list.get(i)); //再刪除此對象
}*/
/////////////////////自己寫SQL語句刪
String sql1 = "delete from Elbook42_1ab where caseid='"+caseid+"' and cust_id='"+custid+"';";
String sql2 = "delete from Elbook42_1aba where caseid='"+caseid+"' and cust_id='"+custid+"';";
Session session = this.getSession();
Query query = session.createSQLQuery(sql1);
try{
query.executeUpdate();
query = session.createSQLQuery(sql2);
query.executeUpdate();
}catch(Exception ex){
log.error("刪除數據出錯!"+ex);
}finally{
this.releaseSession(session);
}你參照下吧。 問題解決勒記得結貼散粉噢!
祝你成功。
可以在BO層的類中 先new 一個新對象, 然后把学号和学期設置到對象里 然后調用Dao里的remove×××方法
exam: Student stu = new Student();
stu.setStuId('012'); //此值設置為你得到的值
stu.setTerm('1'); //此值設置為你得到的值
studentDao.removeStudent(stu);2,如果不能組成唯一的話,就是說數據庫中會存在学号和学期相同的兩條記錄,你可以在Dao類里自己寫個方法。
public void removeElbook421ab(String caseid,String custid) {
/*Elbook421ab elbook421ab = new Elbook421ab();
elbook421ab.setCaseid(caseid);
elbook421ab.setCustId(custid);
List list = this.getElbook421abs(elbook421ab); //先根據2個ID查出對象
if(list == null || list.size()<=0) return;
for(int i=0;i<list.size();i++) {
getHibernateTemplate().delete(list.get(i)); //再刪除此對象
}*/
/////////////////////自己寫SQL語句刪
String sql1 = "delete from Elbook42_1ab where caseid='"+caseid+"' and cust_id='"+custid+"';";
String sql2 = "delete from Elbook42_1aba where caseid='"+caseid+"' and cust_id='"+custid+"';";
Session session = this.getSession();
Query query = session.createSQLQuery(sql1);
try{
query.executeUpdate();
query = session.createSQLQuery(sql2);
query.executeUpdate();
}catch(Exception ex){
log.error("刪除數據出錯!"+ex);
}finally{
this.releaseSession(session);
}你參照下吧。 問題解決勒記得結貼散粉噢!
祝你成功。
Student p = (Student)getHibernateTemplate().get(Student.class,id);
getHibernateTemplate().delete(p);
}如果根据你所说的进行删除的话,可以这样:public int delete(Integer id,String term) {
Session session = SessionFactoryUtils.getSession(getSessionFactory(), false);
try {
Query q = session.createQuery("delete Student p where p.id = :id and term=:term);
q.setInteger("id", id);
q.setString("term",term);
q.executeUpdate();
}
catch (HibernateException ex) {
throw convertHibernateAccessException(ex);
}
}
Query query = session.createQuery(sqlQuery);
//得到要删除的学生成绩信息
List list = query.list();
for(int i=0;i<list.size();i++){
Student stu = (Student)list.get(i);
session.delete(stu);
session.fuesh();
}
//在加上session.beginTransaction,和try/catch块就没问题了