hibernate里id主键是自动生成的,想update数据,但id=null 10

有a.b.c三张表,c表示a和b部分列集合来的,c表id主键是hibernate自动生成的,在获取c表一行数据时,想先判断c表有没有同name的数据,有的话就更新时间列,... 有a.b.c三张表,c表示a和b部分列集合来的,c表id主键是hibernate自动生成的,在获取c表一行数据时,想先判断c表有没有同name的数据,有的话就更新时间列,没有的话就直接插入数据,但在update时提示错误,id=null,insert正常,请问如何能正确update? 展开
 我来答
是小白啊2k
2014-10-14 · TA获得超过2566个赞
知道小有建树答主
回答量:1183
采纳率:0%
帮助的人:1149万
展开全部
先根据条件取实体类,然后判断实体类是否为null,如果不为null则设置要更新的字段,然后调用update方法就行了
追问
c表实体类是由封装的一个方法生成的,通过对a.b表实体类对象的属性进行get、set方式获得的,但id是hibernate自动生成的,所有在id上没有设置值,id=null
insert数据时,hibernate自动生成id值,能插入成功
但是update时,id没有值,提示错误
追答
那你就要改那个方法,把id也取出来,没有主键怎么更新?更新哪条数据?
百度网友0480c51
2014-12-08 · 超过29用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:21.3万
展开全部
如果id为空你也要查询,那么试试用左连接。
select 要查询的列
from 表名
join left 表名1 on 表名.列名 = 表名1.列名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式