不同浏览器 hibernate删除操作问题

XX的小石头 2013-08-10 07:45:19
今天敲代码的时候遇到个奇怪的问题,使用hibernate的session.delete()进行删除操作,然后跳转到一个查询的action,action再跳回前台页面,在使用搜狗浏览器和IE的时候,这个操作会出现错误,错误是在查询操作完成之后跳转的时候会莫名其妙的又进行一次删除操作,但是在使用火狐浏览器的时候又很正常,什么错误都没有,代码检查过几遍,感觉没什么问题,不知道有没有人遇到过相同的问题

dao层代码:

@Transactional
public List<Meeting> queryMeeting(){
List<Meeting> meet=new ArrayList<Meeting>();
session=sf.getCurrentSession();

try{
Query query=session.createQuery("from Meeting");
meet=query.list();
}catch(Exception e){
e.printStackTrace();
}

return meet;
}

//删除会议记录
@Transactional
public boolean deleteMeeting(int id){
session=sf.getCurrentSession();
Meeting m=new Meeting();
m.setId(id);

try{
session.delete(m);
}catch(Exception e){
e.printStackTrace();
return false;
}

return true;
}


struts.xml配置:
<action name="queryMeet" class="com.oa.action.MeetingAction" method="query">
<result>/Meeting/QueryMeeting.jsp</result>
</action>

<action name="deleteMeet" class="com.oa.action.MeetingAction">
<result type="chain">
<param name="actionName">queryMeet</param>
<param name="namespace">/meeting</param>
</result>
</action>
...全文
151 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
XX的小石头 2013-08-10
  • 打赏
  • 举报
回复
引用 10 楼 fudongrifdr 的回复:
不过感觉@Transactional应该是控制事务的吧,跟持久化对象也没什么关系。。你那问题可能跟JS兼容性有关系,你再查查
恩,谢谢,我再查查这方面的问题
末日哥 2013-08-10
  • 打赏
  • 举报
回复
不过感觉@Transactional应该是控制事务的吧,跟持久化对象也没什么关系。。你那问题可能跟JS兼容性有关系,你再查查
末日哥 2013-08-10
  • 打赏
  • 举报
回复
引用 8 楼 xh3210_ 的回复:
[quote=引用 7 楼 fudongrifdr 的回复:] [quote=引用 6 楼 xh3210_ 的回复:] [quote=引用 5 楼 fudongrifdr 的回复:] [quote=引用 3 楼 xh3210_ 的回复:] [quote=引用 1 楼 fudongrifdr 的回复:] 在你删除之前先用session.load(Meeting.class,xxxxxxxx)把对象加载了啊?
应该不是这个问题吧,我的数据库是能够成功删除的[/quote] 你这对象都没存入数据库,你的数据库中是能够成功删除?[/quote] 首先从数据库取出数据在前台展示,然后把对应id传值过来给数据库删除,这样有问题吗?[/quote] 你删除的Meeting是你new的啊,不是从数据库取的啊,你显示一下sql语句?能有id值?[/quote] 这种写法是看尚学堂的视频学的,我遇到的问题不是数据删不掉,是我只要执行一次的删除操作却莫名其妙的执行了两次 在前台用js的window.location.href来跳转,但是我把这句删掉的话,就没这个问题了,很奇怪[/quote] 哦,可能是我没用过注解吧,好久没用过hibernate了
XX的小石头 2013-08-10
  • 打赏
  • 举报
回复
引用 7 楼 fudongrifdr 的回复:
[quote=引用 6 楼 xh3210_ 的回复:] [quote=引用 5 楼 fudongrifdr 的回复:] [quote=引用 3 楼 xh3210_ 的回复:] [quote=引用 1 楼 fudongrifdr 的回复:] 在你删除之前先用session.load(Meeting.class,xxxxxxxx)把对象加载了啊?
应该不是这个问题吧,我的数据库是能够成功删除的[/quote] 你这对象都没存入数据库,你的数据库中是能够成功删除?[/quote] 首先从数据库取出数据在前台展示,然后把对应id传值过来给数据库删除,这样有问题吗?[/quote] 你删除的Meeting是你new的啊,不是从数据库取的啊,你显示一下sql语句?能有id值?[/quote] 这种写法是看尚学堂的视频学的,我遇到的问题不是数据删不掉,是我只要执行一次的删除操作却莫名其妙的执行了两次 在前台用js的window.location.href来跳转,但是我把这句删掉的话,就没这个问题了,很奇怪
末日哥 2013-08-10
  • 打赏
  • 举报
回复
引用 6 楼 xh3210_ 的回复:
[quote=引用 5 楼 fudongrifdr 的回复:] [quote=引用 3 楼 xh3210_ 的回复:] [quote=引用 1 楼 fudongrifdr 的回复:] 在你删除之前先用session.load(Meeting.class,xxxxxxxx)把对象加载了啊?
应该不是这个问题吧,我的数据库是能够成功删除的[/quote] 你这对象都没存入数据库,你的数据库中是能够成功删除?[/quote] 首先从数据库取出数据在前台展示,然后把对应id传值过来给数据库删除,这样有问题吗?[/quote] 你删除的Meeting是你new的啊,不是从数据库取的啊,你显示一下sql语句?能有id值?
XX的小石头 2013-08-10
  • 打赏
  • 举报
回复
引用 5 楼 fudongrifdr 的回复:
[quote=引用 3 楼 xh3210_ 的回复:] [quote=引用 1 楼 fudongrifdr 的回复:] 在你删除之前先用session.load(Meeting.class,xxxxxxxx)把对象加载了啊?
应该不是这个问题吧,我的数据库是能够成功删除的[/quote] 你这对象都没存入数据库,你的数据库中是能够成功删除?[/quote] 首先从数据库取出数据在前台展示,然后把对应id传值过来给数据库删除,这样有问题吗?
末日哥 2013-08-10
  • 打赏
  • 举报
回复
引用 3 楼 xh3210_ 的回复:
[quote=引用 1 楼 fudongrifdr 的回复:] 在你删除之前先用session.load(Meeting.class,xxxxxxxx)把对象加载了啊?
应该不是这个问题吧,我的数据库是能够成功删除的[/quote] 你这对象都没存入数据库,你的数据库中是能够成功删除?
末日哥 2013-08-10
  • 打赏
  • 举报
回复
你这对象都是新new出来的。。你这写法在哪学的。。
XX的小石头 2013-08-10
  • 打赏
  • 举报
回复
引用 1 楼 fudongrifdr 的回复:
在你删除之前先用session.load(Meeting.class,xxxxxxxx)把对象加载了啊?
应该不是这个问题吧,我的数据库是能够成功删除的
末日哥 2013-08-10
  • 打赏
  • 举报
回复
你这个对象还没有持久化
末日哥 2013-08-10
  • 打赏
  • 举报
回复
在你删除之前先用session.load(Meeting.class,xxxxxxxx)把对象加载了啊?

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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