请教HQL语delete操作?

liml1314 2010-01-18 10:04:06
我用的是MySQL数据库
两个Pojo类Person PersonApply 我用的是Hibernate 它们是一对一唯一外键约束映射(fk:personID),现在我要做一个测试,就是通过删除personID来实现删除一条记录的功能 操作如下:

DAO层相关代码
public Person findByPersonID(long pid) {
// TODO Auto-generated method stub
Session s = HbnUtil.getCurrentSession();
Person person = null;
if(s != null)
{
Query q = s.createQuery("from Person p where p.personID=:pid");
q.setLong("pid",pid );
person = (Person)q.uniqueResult();

}
return person;
}
public Person deletePersonByID(long pid) {
Session s = HbnUtil.getCurrentSession();
Person person = null;
person = findByPersonID(pid);
if(s != null){
s.delete(person);
}
return person;
}

Service层相关代码

public Person deletePersonByID(long pid) {
// TODO Auto-generated method stub
Session s = null;
Transaction tran = null;
Person person = null;
try{
s = HbnUtil.getCurrentSession();
tran = s.beginTransaction();;
person = pdao.deletePersonByID(pid);
tran.commit();
}catch(HibernateException e){
if(tran == null)
tran.rollback();
e.printStackTrace();
}
return person;
}

测试类
这里数据已经全部添加进去,问题就出现在这里
PersonSerivceImpl phd = new PersonSerivceImpl();
phd.deletePersonByID(1L);


控制台出错信息为org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
找不出原因,请各位高手指点下,谢谢
...全文
968 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hizhangqi 2010-07-10
  • 打赏
  • 举报
回复
s.delete(person); 有问题
hizhangqi 2010-07-10
  • 打赏
  • 举报
回复
static void deleteAdmin(int id) {
Session session = null;
Transaction tx = null;
String queryString = "delete Admin admin where admin.id=:id";
try {
session = HibernateUtil.getSession();
tx = session.beginTransaction();
Query query = session.createQuery(queryString);
query.setInteger("id", id);
query.executeUpdate();
tx.commit();
// session.delete(entityName, object)
} catch (HibernateException e) {
if (tx != null) {
tx.rollback();
System.out.println(e.getMessage());
throw e;
}
} finally {
HibernateUtil.sessionClose();
}
}
--小F-- 2010-01-18
  • 打赏
  • 举报
回复
MYSQL 帮顶了
Mr_Nice 2010-01-18
  • 打赏
  • 举报
回复
路过,学习》。。
SQL77 2010-01-18
  • 打赏
  • 举报
回复
hibernate.exception.ConstraintViolationException:

应该是有约束,不能更新吧

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧