社区
Java EE
帖子详情
如何让hibernate不更新为null的字段
andesen
2009-08-27 07:22:50
数据库字段可以为空,使用hibernate更新时如果对象的属性为空就不更新
...全文
1272
18
打赏
收藏
如何让hibernate不更新为null的字段
数据库字段可以为空,使用hibernate更新时如果对象的属性为空就不更新
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
andesen
2009-08-29
打赏
举报
回复
ggggggggggggggggggggggg
andesen
2009-08-28
打赏
举报
回复
直接用hibernate的getHibernateTemplate().update(obj);修改的
没人来啊,顶起
xiaoyun1122
2009-08-28
打赏
举报
回复
如果你是双向关联的话 <set>集合中要设置inverse="true",要不然你更改many-to-one中的one这一端的数据会造成many这一端的数据记录中的PID为NULL
yjlhope
2009-08-28
打赏
举报
回复
不错,学习了,呵呵
andesen
2009-08-28
打赏
举报
回复
[Quote=引用 10 楼 feishare 的回复:]
引用 7 楼 andesen 的回复:
引用 4 楼 youkimra 的回复:
写在你的映射文件中,比如:
<class name="form名称" table="表名称" dynamic-updata="true"/>
不知道有没有错的地方,你试试
<hibernate-mapping>
<class name="pojo.UserInfo" table="UserInfo" schema="dbo" catalog="temp"dynamic-update="true">
//这里吗? 写进去就报错
的确写在class里面的,不过解决不了问题,还是在hql语句后面加where语句吧,或者设置字段的属性为not null
[/Quote]
好像确实解决不了问题,那还有没有其他办法
西风在东
2009-08-28
打赏
举报
回复
可以确定是写在配置文件里的,映射文件那里写,前面有人说了
andesen
2009-08-28
打赏
举报
回复
人呢,没人知道吗?
andesen
2009-08-27
打赏
举报
回复
我直接用hibernate修改的,继续等待
feishare
2009-08-27
打赏
举报
回复
[Quote=引用 7 楼 andesen 的回复:]
引用 4 楼 youkimra 的回复:
写在你的映射文件中,比如:
<class name="form名称" table="表名称" dynamic-updata="true"/>
不知道有没有错的地方,你试试
<hibernate-mapping>
<class name="pojo.UserInfo" table="UserInfo" schema="dbo" catalog="temp"dynamic-update="true">
这里吗? 写进去就报错
[/Quote]
的确写在class里面的,不过解决不了问题,还是在hql语句后面加where语句吧,或者设置字段的属性为not null
youkimra
2009-08-27
打赏
举报
回复
sorry,写在mapping里,试试看,我好多天没搞,忘了
Josh
2009-08-27
打赏
举报
回复
没搞过
andesen
2009-08-27
打赏
举报
回复
[Quote=引用 4 楼 youkimra 的回复:]
写在你的映射文件中,比如:
<class name="form名称" table="表名称" dynamic-updata="true"/>
不知道有没有错的地方,你试试
[/Quote]
<hibernate-mapping>
<class name="pojo.UserInfo" table="UserInfo" schema="dbo" catalog="temp"
dynamic-update="true"
>
这里吗? 写进去就报错
lcj_up
2009-08-27
打赏
举报
回复
学习啦
zl3450341
2009-08-27
打赏
举报
回复
你更新不是写hql语句吗
后面加个where条件
select * from table t where t.id is not null
youkimra
2009-08-27
打赏
举报
回复
写在你的映射文件中,比如:
<class name="form名称" table="表名称" dynamic-updata="true"/>
不知道有没有错的地方,你试试
andesen
2009-08-27
打赏
举报
回复
那句话写在那个地方
blliy117
2009-08-27
打赏
举报
回复
dynamic-update="true"
andesen
2009-08-27
打赏
举报
回复
没人,自己顶
hibernate
将
NULL
值
更新
到DB中的问题
问题背景:在某个表中增加了一个新
字段
,
字段
可为空。在insert数据后,之后update这条数据时,新增的这个
字段
并没有赋值,即new对象时这个
字段
是
null
,然后
hibernate
就将
null
更新
到DB中去了,本项目使用的是Oracle。 分析:默认情况下,使用
hibernate
Template的
更新
,会将对象全量
更新
,就会把
null
值
更新
到DB中,如果原来
字段
是有值的,这下好了,执行一次对象...
hibernate
添加数据,默认
字段
为
null
的问题解决
数据库中的一个
字段
默认为0,但是在用
hibernate
的添加之后,默认
字段
竟然不是0,为
NULL
. 查了一下.发现想要让默认
字段
生效.需要在*.hbm.xml添加一些参数,如下.(红色部分) dynamic-insert="true" dynamic-update="true"> .............. 下面是网上搜集的有关其它配置的说明
Hibernate
允许我
表中
字段
值为
NULL
时,
hibernate
查询不会返回该
字段
在使用
Hibernate
HQL语句查询时,这些
Null
字段
,在查询结果集中是不会出现的建议,插入时,要插入所有
字段
,字符串默认值可以用双引号,整型默认值可以用0,这样查询结果集中会返回该表中的所有
字段
FR:徐海涛(hunk Xu)
解决
Hibernate
更新
部分
字段
的问题
解决
Hibernate
更新
部分
字段
的问题
hibernate
更新
实体对象时,可以让某些
字段
不
更新
Java EE
67,513
社区成员
225,880
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章