`
p_3er
  • 浏览: 55760 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

第十章 基于Annotation的关系映射 前期准备

 
阅读更多

1、使用MyEclipse生成基于Annotation的实体类与映射

这个过程只和第三章所说的的内容基本相同。这是其中有两个地方得注意的。



注意一:
在通过MyEclipse给项目增加Hibernate功能的时候。我们必须勾上Enable Hibernate Annotations Support。否则在通过MyEclipse生成基于Annotation的实体类时会无法使用这项功能。




注意二:
通过MyEclipse生成实体类和映射的时候,应该选第二项生成基于Annotation的实体类,而不是之前的带.hbm.xml映射文件的实体类。





2、一个简单的Annotation的实体类
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
/**
 * @Entity 表示下面的这个User是一个实体类
 * @Table 表示映射到数据表中的表名,其中的name参数表示"表名称"
 * @Id 表示主键Id,一般放在getXXX前面
 */
@Entity
@Table(name = "user", catalog = "hibernate")
public class User implements java.io.Serializable {
	private Integer id;
	private String username;

	public User() {
	}

	@Id
	@GeneratedValue
	@Column(name = "id", unique = true, nullable = false)
	public Integer getId() {
		return this.id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	@Column(name = "username", nullable = false, length = 45)
	public String getUsername() {
		return this.username;
	}

	public void setUsername(String username) {
		this.username = username;
	}
}


3、Annotation的ID生成策略

使用@GeneratedValue(strategy=GenerationType)注解可以定义该标识符的生成策略

Strategy有四个值:

AUTO- 可以是identitycolumn类型,或者sequence类型或者table类型,取决于不同的底层数据库.

相当于native


TABLE- 使用表保存id

原理:就是在数据库中建立一个表,这个表包含两个字段,一个字段表示名称,另一个字段表示值。每次在添加数据时,使用第一个字段的名称,来取值作为添加数据的ID,然后再给这个值累加一个值再次存入数据库,以便下次取出使用。


IDENTITY- identity column


SEQUENCE- sequence


注意:auto是默认值,也就是说没有后面的参数则表示为auto



4hibernate.cfg.xml中配置Annotation的实体类

如果是通过MyEclipse生成的实体类的话,这个配置是由工具自动加载到配置文件中的。
<mapping class="cn.framelife.hibernate.entity.User" />


5AnnotationConfiguration

Annotation方式。在初始化Configuation时,应使用AnnoationConfiguration。这只是用于Application或才测试的时候。如果是Web项目我们还有其它的做法,如整合Spring来使用Spring提供的工具类来调用Hibernate的Api会更加方便。这个我们在说Spring的时候会说到。

  Configuration cfg = new AnnotationConfiguration();
		cfg.configure();
		SessionFactory sessionFactory = cfg.buildSessionFactory();






分享到:
评论

相关推荐

    Hibernate_Annotation关联映射

    Hibernate Annotation几种关联映射 一对一(One-To-One) ...以上是整理的一点简单的几种映射,可参考EJB3.pdf中P111——P131,hibernate_annotation.pdf 第二章 在这里没有具体的例子,有很多内容还需要仔细查看文档。

    基于annotation的aop实现

    基于Annotation的AOP实现是Spring框架的一个重要特性,它极大地简化了AOP的使用。在本篇文章中,我们将深入探讨基于Annotation的AOP实现,特别是动态代理的理念。 首先,了解什么是AOP。AOP的核心概念是“切面”...

    基于Annotation的Servlet配置

    然而,随着Java技术的发展,基于Annotation的Servlet配置逐渐成为主流,因为它提供了更加简洁、直观的编程模型。这篇博文"基于Annotation的Servlet配置"探讨了如何使用注解来配置Servlet,让我们深入理解这一现代Web...

    compass annotation关联关系

    Compass Annotation 是 Compass 提供的一种基于 Java 注解(Annotation)的映射方式,它可以将 Java 对象的属性与搜索引擎的文档字段关联起来。通过在 Java 类或其属性上添加特定的注解,Compass 可以自动处理对象到...

    S2SH整合基于annotation

    **Hibernate3** 是一个对象关系映射(ORM)框架,它允许开发者使用面向对象的方式来操作数据库。在Hibernate中,实体类和数据库表之间建立映射,而Annotation则可以用于定义这些映射,例如`@Entity`表示一个数据库表...

    基于Annotation的Java单元测试框架.pdf

    "基于Annotation的Java单元测试框架" 本文主要介绍了基于Annotation的Java单元测试框架,讨论了Annotation在Java EE中的应用、反射技术的使用和JUnit单元测试框架的结合,建立了一个自动化单元测试框架结构。 一、...

    基于Annotation的s2sh整合配置实现分页功能

    基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能基于Annotation的s2sh整合配置实现分页功能

    基于Annotation的MVC框架SSH示例.rar

    在这个"基于Annotation的MVC框架SSH示例"中,我们将探讨如何使用注解(Annotation)来简化SSH框架的配置和实现。 1. **Spring框架**:Spring是核心容器,负责管理应用对象的生命周期和依赖注入。在传统的Spring配置...

    基于annotation s2sh实现零配置的CRM

    【基于Annotation的S2SH实现零配置CRM】 在IT行业中,CRM(Customer Relationship Management)系统是一种用于管理企业与客户之间关系的重要工具。S2SH,即Struts2、Spring和Hibernate的组合,是Java Web开发中常用...

    Hibernate关联关系的CRUD和集合映射(annotation)

    本文将深入探讨Hibernate中的关联关系、CRUD操作以及集合映射(基于注解的方式)。关联关系是数据库设计中的核心概念,而Hibernate通过注解使得这种关系在代码中得以体现,简化了开发工作。 ### Hibernate关联关系 ...

    详解 Spring 3.0 基于 Annotation 的依赖注入实现

    在 Spring 框架中,依赖注入(Dependency Injection,简称 DI)是一种重要的设计模式,它允许对象之间的依赖关系在运行时动态地注入,从而降低了组件之间的耦合度。Spring 3.0 开始引入了基于 Annotation 的依赖注入...

    ssh包(基于annotation)

    这里提到的"ssh包(基于annotation)"很可能是指SSH框架在使用注解(Annotation)进行配置的情况。 Spring框架是SSH中的核心,它负责管理对象的生命周期和依赖关系。使用注解可以使Spring配置更加简洁,避免了XML配置...

    详解Spring基于Annotation的依赖注入实现

    技术分享:详解Spring基于Annotation的依赖注入实现

    基于annotation 的ssh整合(2)

    ### 基于Annotation的SSH整合开发:Spring、Struts与Hibernate协同工作 #### 概述 本文将探讨如何在项目中实现基于Annotation的SSH(Spring、Struts、Hibernate)框架整合。随着技术的发展,XML配置逐渐被...

    Hibernate继承映射(annotation)

    **标题:“Hibernate继承映射(Annotation)详解”** 在Java持久化框架Hibernate中,继承映射是一种关键特性,它允许开发者将对象模型的继承结构映射到数据库的表结构。在传统的面向对象编程中,继承是实现代码复用和...

    extjs+s2sh基于annotation的理财系统

    【Hibernate】是Java领域的一个对象关系映射(ORM)框架,它允许开发者使用面向对象的方式处理数据库操作。通过注解,Hibernate可以将实体类直接与数据库表关联,简化了数据访问层的代码。在理财系统中,Hibernate...

    基于Annotation并对DAO层封装具有分页功能的S2SH整合实例

    在这个基于Annotation并对DAO层封装具有分页功能的S2SH整合实例中,我们将探讨如何利用这些技术的特性来提高开发效率和代码可维护性。 首先,让我们深入了解一下Struts2。Struts2是基于MVC模式的开源Web应用框架,...

Global site tag (gtag.js) - Google Analytics