6.3.4 一对多@OneToMany
来源:互联网 发布:rpg游戏制作教程java 编辑:程序博客网 时间:2024/06/05 15:25
@OneToMany标记用于标注实体关系为一对多。在实体CustomerEO与实体AddressEO的关系是一对多的关系。注释@OneToMany的定义的代码如下所示。
@Target({METHOD, FIELD}) @Retention(RUNTIME)
public @interface OneToMany {
Class targetEntity() default void.class;
CascadeType[] cascade() default {};
FetchType fetch() default LAZY;
String mappedBy() default "";
}
在使用此@OneToMany标记时,需要注意以下几个问题。
l targetEntity属性表示默认关联的实体类型。因为一对多的实体集合时保存在集合类中,所以必须指明集合类中保存的具体类型。以下两种方案必须任选一种。
(1)指定集合泛型的具体类型,如以上例中的代码所示。
private Collection<AddressEO> addresses = new ArrayList<AddressEO>();
@OneToMany(cascade = { CascadeType.ALL })
@JoinColumn(name = "customer_id")
public Collection<AddressEO> getAddresses() {
return addresses;
}
(2)指定targetEntity属性类型,如下代码所示。
private Collection addresses = new ArrayList();
@OneToMany(targetEntity=AddressEO.class,cascade = { CascadeType.ALL })
@JoinColumn(name = "customer_id")
public Collection getAddresses() {
return addresses;
}
l cascade属性和fetch属性所表示的意义与@OneToOne标记中类似,请读者参阅@OneToOne的属性说明。但要注意的是,@OneToMany中fetch属性默认为惰性加载LAZY的,这是因为集合类如果使用即时加载的话,会浪费很多资源。所以一般建议使用惰性加载。
l mappedBy属性用于标记当实体间的关系是双向时使用,在本章的6.5.2小节中将会详细讲述
- 6.3.4 一对多@OneToMany
- OneToMany(一对多)
- 一对多@OneToMany小结
- @OneToMany单向一对多
- 双向一对多关联OneToMany
- java注解一对多@OneToMany
- JPA 一对多 OneToMany 注解
- hibernate 3.5 一对多单项关联(OneToMany)
- OneToMany描述一个一对多的关联
- JPA实现一对多(OneToMany)关联
- HIbernate关系映射--单向一对多@OneToMany
- hibernate (五) 一对多 oneToMany
- 实体关系映射(一对多@OneToMany)
- JPA实现一对多(OneToMany)关联
- Hibernate关系映射(五)一对多、多对一双向关联@OneToMany @OneToMany Annotation方式
- ibatis入门尝试5 一对多(OneToMany)关联
- hibernate 学习四——一对多关系(OneToMany)
- 【JPA 级联保存/级联删除】@OneToMany (双向) 一对多
- 【模式】单件模式及其多线程版本
- 在Excel中如何引用其他的工作表或者工作簿
- 不同服务器数据库之间的数据操作
- struts2中配置log4j 案例
- 上传图片
- 6.3.4 一对多@OneToMany
- WinCE6.0开发环境
- .net 数据库连接池
- 编译android源码couldn't locate source file: framework/layoutlib-tests.jar
- nginx伪静态配置301重定向,域名301重定向
- 如果我们真的分手了:最新网友原创伤感空间日志
- icon图标中间有条弧线,怎么把那个弧线去掉
- VMWare虚拟机安装windows8流程,及虚拟机共享本地硬盘文件、无线网络设置
- 一对一映射的一般步骤