hiberante通过中间关联one-to-one更新实体时的奇怪现象
来源:互联网 发布:酒店网络营销策划 编辑:程序博客网 时间:2024/05/18 03:01
hibernate 通过中间表关联的 one-to-one 关系, table a, a-c, c
A实体
public class A{
...
private C c;
@OneToOne(cascade={CascadeType.ALL},fetch=FetchType.EAGER,optional=true)
@JoinTable(name ="a-b",joinColumns =@JoinColumn(name="a.id",nullable=true),
inverseJoinColumns =@JoinColumn(name="c.id",nullable=true))
public C getC() {
return c;
}
....
}
C实体
public class C{
...
private A a;
@OneToOne(mappedby="c",optional=true)
public A getA() {
return a;
}
....
}
更新A实体,update(a) 时,使用 getHibernateTemplate().merge(a)方法,
刚开始报 not-null property references a null or transient value错误
后检查发现是 C实体中mapped的属性 a为null, 需要 c.setA(a) 一下, 再 update(a),更新成功,
但是代码看起来很奇怪, 按道理应该是由A方维护的关系, 为什么hibernate会检查 C中的a 是否为空, 而且注解配置中也写了optional = true,好像没生效..没想通.
- hiberante通过中间关联one-to-one更新实体时的奇怪现象
- Hibernate One-To-One 关联
- Hibernate One-To-One 关联
- hiberante many-to-one fetch属性
- Hibernate学习笔记:一对一的关联关系(one-to-one)
- JPA注解实现one-to-one的主键关联映射
- NHibernate的关联映射(one-to-one,one-to-many,many-to-many)以及cascade分析
- NHibernate的关联映射(one-to-one,one-to-many,many-to-many)以及cascade分析
- NHibernate的关联映射(one-to-one,one-to-many,many-to-many)以及cascade分析
- NHibernate的关联映射(one-to-one,one-to-many,many-to-many)以及cascade分析
- NHibernate的关联映射(one-to-one,one-to-many,many-to-many)以及cascade分析
- NHibernate的关联映射(one-to-one,one-to-many,many-to-many)以及cascade分析
- 学习笔记-----------表之间的关联(one-to-one many-to-one many-to-many)
- Many To One关联映射的CURD
- hibernate one-to-one 表关联解决方案
- Hibernate one to one 关联关系映射
- hibernate one-to-one外键关联
- hibernate---->一对一关联映射 (one-to-one)
- 《研磨struts2》 第六章 拦截器 之 6.2 预定义的拦截器
- 扩展问题
- 《潮起又潮落》
- c++ 设计模式之 单例模式
- 《研磨struts2》 第六章 拦截器 之 6.3 自定义的拦截器
- hiberante通过中间关联one-to-one更新实体时的奇怪现象
- RCC_APB2PeriphClockCmd; RCC_APB1PeriphClockCmd(
- 编程中的命名设计那点事
- struct addrinfo结构体
- 《研磨struts2》 第六章 拦截器 之 6.4 两个有用的拦截器
- JavaScript多线程编程简介
- 【开源访谈】ThinkPHP 作者刘晨访谈实录
- web.xml中关于log4j的设置及范例说明
- Spring动态切换数据源