`
schy_hqh
  • 浏览: 558032 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Hibernate注解---抓取策略

 
阅读更多

 

package com.gc.sis.core;

import java.util.HashSet;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.xml.bind.annotation.XmlRootElement;

@Entity
@Table(name="illu")
@XmlRootElement
public class Illu {
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	private int id;
	
	private int singlePrem;
	
	//级联保存,删除等
	//FetchType.EAGER 不延迟,立即加载关联对象
	@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER)
	private Set<Client> clients;
	
	//级联保存,删除等
	//FetchType.EAGER 不延迟,立即加载关联对象
	@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER)
	private Set<Rider> riders;
	
	
	public Illu() {
		super();
	}



	public int getId() {
		return id;
	}

	public int getSinglePrem() {
		return singlePrem;
	}


	public void setSinglePrem(int singlePrem) {
		this.singlePrem = singlePrem;
	}


	public Set<Client> getClients() {
		if(clients==null)
			clients = new HashSet<Client>();
		return clients;
	}


	public void setClients(Set<Client> clients) {
		this.clients = clients;
	}


	public Set<Rider> getRiders() {
		if(riders==null)
			riders = new HashSet<Rider>();
		return riders;
	}


	public void setRiders(Set<Rider> riders) {
		this.riders = riders;
	}
	
	
}

 

多对一双向关联,使用mappedBy=“xxx” ,即inverse=true的效果

 

 

@LazyCollection(LazyCollectionOption.EXTRA)
    private Set<Rider> riders;

 

 

抓取策略

在一的一端单个抓取关联对象(1个Group对象,去抓取其关联的ContactPerson对象)

@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.EAGER)
    private Set<Client> clients;

在一的一端批量抓取关联对象(1批Group对象(List<Group>),去抓取其关联的ContactPerson对象)

@Fetch(FetchMode.SUBSELECT)
    private Set<Client> clients;

分享到:
评论

相关推荐

    day36 07-Hibernate抓取策略:many-to-one上的抓取策略

    今天我们要讨论的是Hibernate框架中的一个关键概念——抓取策略,特别是针对"many-to-one"关系的抓取策略。这篇博客将深入剖析这个主题,帮助你更好地理解和应用Hibernate。 Hibernate是Java领域中最流行的对象关系...

    day36 08-Hibernate抓取策略:批量抓取

    本篇主要关注的是Hibernate的抓取策略,特别是批量抓取技术,这对于提高应用程序性能至关重要。批量抓取能够减少数据库交互次数,从而优化查询效率。 首先,我们要理解什么是抓取策略。在Hibernate中,抓取策略是指...

    day36 06-Hibernate抓取策略:set集合上的抓取策略

    今天我们要探讨的是Hibernate的抓取策略,特别是针对set集合的策略。在大型应用中,有效地管理数据加载能显著提升性能,减少数据库交互次数,这就是抓取策略的核心作用。 首先,我们需要理解什么是抓取策略。在...

    JPA -amp Hibernate 注解

    ### JPA与Hibernate注解详解 #### 一、引言 Java Persistence API (JPA) 是一种用于管理Java应用程序中的关系数据的标准规范。它提供了一种面向对象的方式来处理数据库记录,使得开发人员能够更容易地与数据库进行...

    hibernate3数据检索、抓取策略 、 注解的使用

    hibernate3数据检索、抓取策略 、 注解的使用

    hibernate注解 级联 多对一 一对多

    ### Hibernate注解与关系映射详解 #### 一、Hibernate注解基础 **1.1 @Entity** - **概述**:`@Entity`用于标记一个Java类为实体类,表明它是一个持久化对象,可以映射到数据库表。 - **参数**: - `name`:可选...

    关于struts2和hibernate的部分注解解释

    - **fetch**:抓取策略,默认为`EAGER`。 - **optional**:指定是否允许为空,默认为`true`。 - **cascade**:级联操作策略,默认为`NONE`,可以设置为`ALL`、`SAVE_UPDATE`、`DELETE`等。 通过以上注解的使用,...

    JAVA ---JPA注解

    - `fetch`:可选,指定抓取策略,默认为 `EAGER`。 - `cascade`:可选,指定级联操作策略。 - `optional`:可选,是否允许为空,默认为 `true`。 - **用法**:放在属性上。 ```java @Entity public class Post...

    hibernate_reference_anotation 3.5.0-final pdf

    - **抓取配置注解**:`@FetchProfile` 控制懒加载行为。 #### 四、查询映射 ##### 4.1 JP-QL/HQL 查询映射 - **命名查询**:使用 `@NamedQuery` 注解定义命名查询,便于代码中调用。 - **原生 SQL 查询映射**:...

    HIBERNATE - 符合Java习惯的关系数据库持久化.doc

    文档中还特别强调了配置属性,如SQL方言、外连接抓取、二进制流处理、自定义CacheProvider、事务策略、SessionFactory绑定到JNDI以及查询语言替换。这些配置选项对于优化应用程序性能和适应不同数据库系统至关重要。...

    hibernate doc 中文版

    - 详细解释如何使用XML映射文件或注解来定义实体类与数据库表之间的映射关系。 - **Entity:** - 定义映射的基本单位——Entity。 - **Identifiers:** - 主键的生成策略和映射方式。 - **Optimistic locking ...

    SpringMVC+Hibernate+ActiveMQ+spider

    2. Hibernate的实体类设计、映射文件(XML或注解)配置、CRUD操作以及事务管理。 3. ActiveMQ的基本概念,如生产者、消费者、队列和主题,以及如何在Java代码中使用JMS API发送和接收消息。 4. 网络爬虫的工作原理,...

    hibernate中文官方文档3.6

    - **实现NamingStrategy**:定义命名策略以定制Hibernate生成的SQL语句中的表名和字段名。 - **XML配置文件**:解释如何使用XML文件来配置Hibernate。 - **J2EE应用程序服务器的集成**:介绍Hibernate与J2EE应用程序...

    Hibernate关键知识点大全

    - 主键是数据库表中唯一标识记录的字段,Hibernate提供了多种主键生成策略,如`increment`、`identity`、`sequence`等。 4. **核心开发接口** - Hibernate的核心接口包括`Session`、`SessionFactory`、`...

    JPA注解详细解释、EJB3、 Hibernate开发

    - `fetch`:抓取策略,默认为`EAGER`。 - `cascade`:级联操作,可以是`ALL`(所有操作)、`PERSIST`(保存)、`MERGE`(合并)、`REFRESH`(刷新)和`REMOVE`(删除)。 ### 示例 假设我们有一个`User`实体类,...

    Hibernate全部知识点

    - Hibernate支持多种抓取策略,包括立即抓取(`EAGER`)和延迟抓取(`LAZY`)。 #### 树状结构 - 实现树状结构是Hibernate中的一个高级主题,通常涉及到递归查询或使用特定的树结构算法。 #### HQL查询语言 - **...

    hibernate3.2中文文档(chm格式)

    19.1.2. 调整抓取策略(Tuning fetch strategies) 19.1.3. 单端关联代理(Single-ended association proxies) 19.1.4. 实例化集合和代理(Initializing collections and proxies) 19.1.5. 使用批量抓取(Using...

    HibernateAPI中文版.chm

    19.1.2. 调整抓取策略(Tuning fetch strategies) 19.1.3. 单端关联代理(Single-ended association proxies) 19.1.4. 实例化集合和代理(Initializing collections and proxies) 19.1.5. 使用批量抓取(Using...

    hibernate说明文档

    - **外连接抓取**:控制Hibernate是否使用外连接来优化查询性能。 - **二进制流**:处理大对象类型时的相关配置。 - **二级缓存与查询缓存**:提高应用程序性能的重要机制之一。 - **查询语言中的替换**:使用...

Global site tag (gtag.js) - Google Analytics