社区
Web 开发
帖子详情
hibernate 数据库数据更新问题
yanghlcn
2008-07-18 10:51:24
我在做数据更新操作时,做了用户名的唯一性检测,当有重复数据名称时,不作更新,且有提示对话框。但是,数据还是被更新了,程序中并没有调用DAO,实际的LOG日志中,却出现UPDATE语句。不知是否有大虾遇到过此问题.
...全文
339
8
打赏
收藏
hibernate 数据库数据更新问题
我在做数据更新操作时,做了用户名的唯一性检测,当有重复数据名称时,不作更新,且有提示对话框。但是,数据还是被更新了,程序中并没有调用DAO,实际的LOG日志中,却出现UPDATE语句。不知是否有大虾遇到过此问题.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yanghlcn
2008-08-19
打赏
举报
回复
这个问题原来是程序中用了session,通过session来更新数据库,所以,log中有update方法. 问题在于此。
zzz_0429
2008-07-21
打赏
举报
回复
偶也遇过这种情况,最后,无奈只好把数据库字段约束设为惟一,
DAO里执行update时如里不惟一,即出现异常,事务回调。惟一,则继续……
通过捕获异常来给出提示是否惟一
yanghlcn
2008-07-21
打赏
举报
回复
是不是与配置文件有关。hibernate在更新数据时,只在有数据变化的字段才更新,数据是更新了,但是又是谁来触发的,请大虾指点。
yanghlcn
2008-07-21
打赏
举报
回复
事务方法:由Action来调用此方法.
public void update(Site aSite) {
this.tm.begin();
boolean succ = false;
try {
aSiteDao.update(aSite);// 调用DAO中的方法.
succ = true;
} finally {
if (succ){
this.tm.commit();
}
else
this.tm.rollback();
}
}
不清楚为什么在未调用update时,数据被更新.当在页面有数据更新时,数据被更新,即使在Action中不做任何处理。我想是与Hibernate有关,有关配置文件如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd" >
<hibernate-mapping>
<!--
Created by the Middlegen Hibernate plugin 2.1
http://boss.bekk.no/boss/middlegen/
http://www.hibernate.org/
-->
<class
name="com.onewaveinc.media.cms.entity.Site"
table="VOD_CMS_SITE"
>
<id
name="id"
type="long"
column="ID"
unsaved-value="0"
>
<generator class="sequence">
<param name="sequence">VOD_CMS_SITE_SEQ</param>
</generator>
</id>
<property
name="name"
type="java.lang.String"
column="NAME"
length="1024"
/>
<property
name="code"
type="java.lang.String"
column="CODE"
not-null="true"
unique="true"
length="64"
/>
<property
name="spid"
type="long"
column="SPID"
not-null="true"
length="12"
/>
<property
name="validdate"
type="java.util.Date"
column="VALIDDATE"
length="7"
/>
<property
name="expiredate"
type="java.util.Date"
column="EXPIREDATE"
length="7"
/>
<property
name="status"
type="int"
column="STATUS"
not-null="true"
length="2"
/>
<property
name="description"
type="java.lang.String"
column="DESCRIPTION"
length="1024"
/>
<property
name="termialtype"
type="int"
column="TERMIALTYPE"
length="2"
/>
<property
name="createtime"
type="java.util.Date"
column="CREATETIME"
length="7"
/>
<property
name="createoperator"
type="long"
column="CREATEOPERATOR"
length="12"
/>
<property
name="lastmodifytime"
type="java.util.Date"
column="LASTMODIFYTIME"
length="7"
/>
<property
name="lastmodifier"
type="long"
column="LASTMODIFIER"
length="12"
/>
<property
name="creatororgid"
type="long"
column="CREATORORGID"
length="7"
/>
<property
name="templatePublishDate"
type="java.util.Date"
column="TEMPLUPDATETIME"
length="12"
/>
<property
name="permitOrgId"
type="long"
column="PERMITORGID"
length="12"
/>
<!-- added by feihp 2006/10/17 -->
<property
name="authitems"
type="java.lang.String"
column="AUTHITEMS"
length="1024"
/>
<property
name="crdentry"
type="java.lang.String"
column="CRDENTRY"
length="1024"
/>
<property
name="profileid"
type="long"
column="PROFILEID"
length="12"
/>
<property
name="aaa"
type="int"
column="AAA"
length="2"
/>
<!-- end added feihp 2006/10/17 -->
<!-- yanghl 2008/06/10 add start -->
<property
name="format"
type="int"
column="FORMAT"
length="4"
/>
<property
name="siteUrl"
type="java.lang.String"
column="SITE_URL"
length="200"
/>
<!-- yanghl 2008/06/10 add start -->
<!-- add by Dragon [2008-07-02 10:50] start -->
<property
name="authregionId"
type="long"
column="AUTHREGION_ID"
not-null="true"
length="12"
/>
<!-- add by Dragon [2008-07-02 10:50] end -->
<!-- Associations -->
<!-- bi-directional one-to-many association to Channel -->
<set
name="channels"
lazy="true"
inverse="true"
cascade="none"
order-by="sortindex"
batch-size="10"
>
<key>
<column name="SITEID" />
</key>
<one-to-many
class="com.onewaveinc.media.cms.entity.Channel"
/>
</set>
<!-- bi-directional one-to-many association to Folder -->
<set
name="folders"
lazy="true"
inverse="true"
cascade="none"
order-by="id"
batch-size="10"
>
<key>
<column name="SITEID" />
</key>
<one-to-many
class="com.onewaveinc.media.cms.entity.Folder"
/>
</set>
</class>
</hibernate-mapping>
yanghlcn
2008-07-18
打赏
举报
回复
这是单表操作对象.action.java -> manager.java(事务) -> dao.java
实际上,在进入action处理时,即使立即返回,不作任何操作,数据还是更新。
我想,配置文件或触发器,或其它原因引起。
有想法的请提供帮助,谢谢.
cangbai217
2008-07-18
打赏
举报
回复
你检查下看是不是那里写了update的语句,还有不知道你事务是怎么管理的
Maven+Struts2+Spring4+
Hibernate
4+Bootstrap客户关系系统视频
CRM客户关系管理系统的管理理念始终是以客户为中心的,不同的管理系统有着自己不同的
数据
处理方式,因此企业在构建自己的客户关系管理
数据
库
时需要注意系统的特性和其他企业管理软件的协调。 对于中小型企业在客户关系管理系统上的应用,可有助于企业对客户信息管理混乱状态的改善,加强了企业和客户之间的联系,因此下面是中小企业在面对客户关系管理系统时所需的需求
hibernate
查询出的
数据
和
数据
库
不一致
问题
解决
今天,遇到一个奇怪的
问题
,有两个顺序执行的方法,第一个方法会
更新
A表,第二个方法会查询A表,并根据A表的某个字段来
更新
B表。但是A表
更新
成功,B表却没有
更新
。 经排查,有如下现象: 1.服务启动后,第一次
更新
可以成功,读取
数据
与
数据
库
一致。 2.第二次以后做相同操作,读取
数据
就与
数据
库
不一致了。 3.重启服务,再进行操作,还是第一次可以成功,再执行就不行了。 根据以上现象初步认为是读到了脏
数据
,再试,确认是读了上一次的
数据
,因为用的是
hibernate
,对这个并不了解,但是在操作
数据
层...
hibernate
更新
数据
的几种方式
方式一: 使用
hibernate
的缓存和快照机制,
hibernate
向一级缓存放入
数据
时,同时保存快照
数据
(
数据
库
备份 ) ,当修改一级缓存
数据
,在 flush 操作时,对比缓存和快照,如果不一致,自动
更新
( 将缓存的内容同步到
数据
库
,
更新
快照 ). /** 2. * 测试快照区的使用 3. */ 4. @Test 5. public voi...
利用
Hibernate
对
数据
库
进行添加
数据
利用
Hibernate
对
数据
库
进行添加
数据
目录
Hibernate
使用准备工作 第一步创建一个Web项目 第二步创建
数据
库
及表 第三步编写实体化持久化类 第四步编写映射文件Customer.hbm.xml 第五步编写核心配置文件
hibernate
.cfg.xml 第六步编写测试类进行
数据
添加(删除和查找类似) 注意:在导入包的时候是import org.
hibernate
.开头的资源包,不是...
hibernate
之
数据
库
操作
hibernate
是一种ORM(对象/关系
数据
库
映射)框架,即可以直接通过一个实体对象建立与关系
数据
库
的直接关系,通过这种框架我们在编程的时候可以避免对关系
数据
库
进行直接操作,而是通过对象实例进行操作,间接地对
数据
库
进行一系列操作。这一次先记录实体类与
数据
库
进行映射,并且完成第一次的对
数据
库
表的插入操作。 大体的思路分为以下几个步骤: (1)导入
hibernate
必须要用的jar包,将这些ja...
Web 开发
81,091
社区成员
341,719
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章