J2EE(hibernate问题)高手请进。 20

我的一个person实体。属性有很多。现在我想对person的某几个字段的值进行update。其他的属性不变,但是我在保存的时候其他的属性值自动的给我设置null值了。(... 我的一个person实体。属性有很多。现在我想对person的某几个字段的值进行update。其他的属性不变,但是我在保存的时候其他的属性值自动的给我设置null值了。
(我想到的解决办法有:将需要不变的属性用隐藏域给隐藏起来。或者把这个查询出来的持久实体复制一下,然后进行更改的处理)我想问哈还有其他什么办法可也实现(现在我想对person的某几个字段的值进行update)。 小弟现在这里谢谢各位了。
1,2楼的不是你们说的那个意思,可能是我没表达清楚。
用一句话说就是:我用get()或load()查询出来的持久实体。把这个实体的一部分内容显示到表示层(jsp等),然后对一部分实体属性的值进行修改,当我update的时候其他的没修改的属性值让他不变,好问题就出在这里,其他没修改的就是没set的属性值变成null了。
(我想到的解决办法有:将需要不变的属性用隐藏域给隐藏起来。或者把这个查询出来的持久实体复制一下,然后进行更改的处理)
请问大侠们还有其他简便的方法吗?
3楼说的。HQL 和SQL (update 表 set)的类似。但是保存的时候页面只返回一个person对象的话。这个方法解决起来不是麻烦了吗
展开
 我来答
百度网友ccae8d0
2011-03-09 · TA获得超过2186个赞
知道大有可为答主
回答量:3104
采纳率:0%
帮助的人:1492万
展开全部
public void updateperson(String id){
Person person =personservice.get(id);
person.setName("张三");
person.setAge(25);
personservice.update(person);
}
总结:修改时先get ,然后再set要修改为属性,最后执行update
awinderce02f11
2011-03-09 · 超过12用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:33.9万
展开全部
你更新的实体是new出来的吧?从dao里面获得实体然后修改需要的字段应该不会出现这样的问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天塔上的猫
2011-03-09
知道答主
回答量:21
采纳率:0%
帮助的人:0
展开全部
你在学习hibernate吧..你的问题是只对Entity部分属性进行update..这是hibernate的一个经典问题。网上有很多人讨论
推荐一个吧 你直接写HQL 万事OK
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友2e38d7c53
2011-03-10
知道答主
回答量:2
采纳率:0%
帮助的人:0
展开全部
先把你要更新的对象查出来。 在对这个对象进行修改,在保存这个对象不就可以了?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
folcan
2011-03-14 · 超过18用户采纳过TA的回答
知道答主
回答量:74
采纳率:0%
帮助的人:0
展开全部
关键你的action 怎么写的,处理update的,保存的时候是需要返回一个person对象,这个对象需要你先find 然后set部分属性,然后调用update。怎么find 需要jsp页面上保留一个隐藏文本域,写入这个对象主键比如id。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sothisway
2011-03-22 · 超过10用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:34.1万
展开全部
直接用sql语句不就可以解决吗
Insert talbes values(‘属性值1’,‘属性值2’,‘属性值3’,null,null,null,null,null,null。。。)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式