not-null property references a null or transient value

hhwyss 2009-09-22 10:21:00
外键 列保存出现的错误提示

在MAP时 外键外 not null ="true"

具体过程 不详细写大体是这样的,A表 有bid 列参照B表

a = new A
a.b = load B
a. =...
a.=...
save a
查了网上,有两种参点,
1、 是 not null 改为false ,我觉得不应这样,通道 HIB 没有很好的处理这个问题?
2、b 是 new 出来 应先 save b 后save a ,这个很容易理解 ,我显然不是这样的。

求各位 看看问题出在那里.?
...全文
369 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
longtenggdf 2009-09-22
  • 打赏
  • 举报
回复
主表是A表的时候 load b的时候 才会去写关联字段即外键!
hhwyss 2009-09-22
  • 打赏
  • 举报
回复
数量库中有,断点看到有值的
longtenggdf 2009-09-22
  • 打赏
  • 举报
回复
主表是A表么?
woming66 2009-09-22
  • 打赏
  • 举报
回复
a.b = load B

请问你load出的B在数据库中是否存在这条记录,load返回的代理对象,即使在数据库中没有对应的记录在load的时候也不会报异常,但是在save a的时候很定回报的!
  • 打赏
  • 举报
回复
load B意思是已经有B了是吧?那应该不会有错呀?又没有空为什么会报错?
liwenso 2009-09-22
  • 打赏
  • 举报
回复
外键对应的属性为空了!
具体的代码和描述太少,看不出问题。
jwtigerqwe 2009-09-22
  • 打赏
  • 举报
回复
load是支持lazy策略的 在你没有使用被load的对象的时候 对象都不会被拿出 你看看是不是lazy字段的问题
hhwyss 2009-09-22
  • 打赏
  • 举报
回复
问题已经解决

原因是 后加version 字段

谢谢各位
hhwyss 2009-09-22
  • 打赏
  • 举报
回复
not null="true" 改为 not null="false"
出现错误
object references an unsaved transient instance - save the transient instance before flushing

HELP!!!
luffyke 2009-09-22
  • 打赏
  • 举报
回复
主键递增问题
menjianguo 2009-09-22
  • 打赏
  • 举报
回复
某个非空属性未赋值
hhwyss 2009-09-22
  • 打赏
  • 举报
回复
忘记加一句 ,


在没加并发控制以前是正确的,加上后出错
( 并发控制 optimistic-lock="version" 表中version字段。)

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧