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对象的话。这个方法解决起来不是麻烦了吗 展开
(我想到的解决办法有:将需要不变的属性用隐藏域给隐藏起来。或者把这个查询出来的持久实体复制一下,然后进行更改的处理)我想问哈还有其他什么办法可也实现(现在我想对person的某几个字段的值进行update)。 小弟现在这里谢谢各位了。
1,2楼的不是你们说的那个意思,可能是我没表达清楚。
用一句话说就是:我用get()或load()查询出来的持久实体。把这个实体的一部分内容显示到表示层(jsp等),然后对一部分实体属性的值进行修改,当我update的时候其他的没修改的属性值让他不变,好问题就出在这里,其他没修改的就是没set的属性值变成null了。
(我想到的解决办法有:将需要不变的属性用隐藏域给隐藏起来。或者把这个查询出来的持久实体复制一下,然后进行更改的处理)
请问大侠们还有其他简便的方法吗?
3楼说的。HQL 和SQL (update 表 set)的类似。但是保存的时候页面只返回一个person对象的话。这个方法解决起来不是麻烦了吗 展开
7个回答
展开全部
你更新的实体是new出来的吧?从dao里面获得实体然后修改需要的字段应该不会出现这样的问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你在学习hibernate吧..你的问题是只对Entity部分属性进行update..这是hibernate的一个经典问题。网上有很多人讨论
推荐一个吧 你直接写HQL 万事OK
推荐一个吧 你直接写HQL 万事OK
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先把你要更新的对象查出来。 在对这个对象进行修改,在保存这个对象不就可以了?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
关键你的action 怎么写的,处理update的,保存的时候是需要返回一个person对象,这个对象需要你先find 然后set部分属性,然后调用update。怎么find 需要jsp页面上保留一个隐藏文本域,写入这个对象主键比如id。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接用sql语句不就可以解决吗
Insert talbes values(‘属性值1’,‘属性值2’,‘属性值3’,null,null,null,null,null,null。。。)
Insert talbes values(‘属性值1’,‘属性值2’,‘属性值3’,null,null,null,null,null,null。。。)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询