`

hibernate-annotation

阅读更多

Hibernate-Annotation初步

 

使用annotation的作用

使用了annotation后可以自动不用写*.hbm.xml的配置文件。方便省事。

 

使用annotation的相关jar文件

在使用annotation时要用到的jar文件:

 

相关文件

对应的jar文件

hibernate-annotations-3.4.0.GA.zip

hibernate-annotations.jarlib\ejb3-persistence.jarlib\hibernate-commons-annotations.jarlib\slf4j-api.jar

hibernate-distribution-3.3.2.GA-dist.zip

hibernate3.jarlib\required\*.jar

数据库连接

mysql-connector-java-5.1.10-bin.jar

 

 

使用annotation的一个简单实例

要让一个对象(类)使用annotation应该在一个类的头部加上:@Entity,

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.Table;

//加了Entity才会使用到annotationtable意为创建的表名为:t_student

@Entity

@Table(name="t_student")

public class Student {

private Integer id;

private String name;

    //让该字段为id,即设置其为主键,自动增加

    @Id

@GeneratedValue(strategy=GenerationType.AUTO)

    //修改字段的长度5

@Column(length=5)

public Integer getId() {

return id;

}

    //设置字段名为name,修改字段的长度20

@Column(name="name",length=20)

public String getName() {

return name;

}

public void setId(Integer id) {

this.id = id;

}

    public void setName(String name) {

this.name = name;

}

}

 

 

以上便写好了一个简单的对象,将会创建一张名为:t_student的数据表,有一个主键id和一个name这样两个字段。要使这样一个对象能自动的生成一张数据表还应该在src目录下的hibernate.cfg.xml配置文件中加入:

 

<mapping class="org.zsl.exam.model.Student"/><!-- 包名加对象名 -->

Hibernate.cfg.xml配置文件

Hibernate.cfg.xml配置文件内容如下:

<?xml version='1.0' encoding='utf-8'?>

<!DOCTYPE hibernate-configuration PUBLIC

        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"

        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

 

<hibernate-configuration>

<session-factory>

 

<!-- Database connection settings -->

<property name="connection.driver_class">com.mysql.jdbc.Driver</property>

<property name="connection.url">jdbc:mysql://localhost:3306/exam</property>

<property name="connection.username">exam</property>

<property name="connection.password">exam123</property>

<property name="connection.useUnicode">true</property>

<property name="connection.characterEncoding">UTF-8</property>

 

 

<!-- 数据库方言,这里为MySQL的数据库 -->

<property name="dialect">org.hibernate.dialect.MySQLDialect</property>

 

<!-- Disable the second-level cache  -->

<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>

 

<!-- 是否显示sql语句 -->

<property name="show_sql">true</property>

<!-- 自动更新数据库 -->

<property name="hbm2ddl.auto">update</property>

<mapping class="org.zsl.exam.model.Student"/>

</session-factory>

</hibernate-configuration>

Hibernate annotation的一对多

在多的那方加入:

…………

private Teacher teacher;

//说明是多对一

@ManyToOne

//在本表里加入外键的字段名为:tea_id

@JoinColumn(name="tea_id")

public Teacher getTeacher() {

return teacher;

}

    …………

 

在一的那方加入:

    …………

private Set<Student> students;

//说明是一对多,mappedBy指的是在多方对象里指明外键的属性名

//targetEntity表示多方对象

    @OneToMany(mappedBy="teacher",targetEntity=Student.class)

public Set<Student> getStudents() {

return students;

}

    …………

 

Annotation的继承

要使一个对象的annotation被其它对象所继承很简单,只用在父类的头部加上:

@MappedSuperclass

如:

@MappedSuperclass

public class BaseEntity {

 

private Integer id;

 

@Id

@GeneratedValue(strategy=GenerationType.AUTO)

@Column(length=5)

public Integer getId() {

return id;

}

 

public void setId(Integer id) {

this.id = id;

}

}

这样只要继承了BaseEntity的子类都会具有一个主键id

<!--EndFragment-->

分享到:
评论

相关推荐

    hibernate-annotation 所需要的jar包

    9. **测试与实践**: 提供的"Hibernate-Annotation-jar"文件包含了使用Hibernate进行Annotation编程所需的库文件。为了确保成功运行,开发者需要在项目中导入这些jar包,并配置相应的数据库连接和实体类,然后就可以...

    hibernate-annotation-helloword

    **hibernate-annotation-helloworld** 是一个基于Hibernate框架,使用注解方式实现的Hello World示例项目。在Java世界中,Hibernate是一个流行的持久层框架,它极大地简化了数据库操作,尤其是在对象关系映射(ORM)...

    Hibernate-Annotation-3.4.0帮助文档

    《Hibernate-Annotation-3.4.0帮助文档》是一份详尽的指南,旨在帮助开发者理解和使用Hibernate ORM框架中的注解功能。Hibernate是Java领域中广泛使用的对象关系映射(ORM)工具,它极大地简化了数据库操作。在3.4.0...

    hibernate-Annotation.jar

    在Hibernate 3.x版本中,引入了Annotation注解,这是一种元数据的方式,可以替代XML配置文件来描述对象与数据库表之间的映射关系。 **Hibernate Annotation注解** 在Hibernate 3.x之前,对象到数据库的映射通常...

    hibernate-annotation3.4.0 + hibernate-distribution3.3.2 + slf4j-1.5.8.rar

    本篇文章将围绕"hibernate-annotation3.4.0 + hibernate-distribution3.3.2 + slf4j-1.5.8.rar"这个压缩包中的内容,深入探讨这两个框架的使用及其版本间的差异,以及Slf4j日志框架的集成。 首先,Hibernate是Java...

    Hibernate-Annotation初步.rar

    【标题】:“Hibernate-Annotation初步” 【描述】中提到的“Hibernate-Annotation”是指Hibernate框架中的一种元数据声明方式,它允许开发者通过在Java类和字段上直接使用注解(Annotation)来替代传统的XML配置...

    Hibernate -annotation 学习笔记

    【Hibernate - Annotation 学习笔记】 Hibernate 是一个流行的开源Java对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发人员可以使用面向对象的方式处理数据存储。Annotation是Hibernate提供的一种元...

    hibernate-validator-annotation-processor-5.1.0.CR1.zip

    【标题】"Hibernate Validator Annotation Processor 5.1.0.CR1" Hibernate Validator 是一个流行的开源验证框架,它基于JSR 303/JSR 349(Bean Validation)标准,为Java应用程序提供了强大的数据验证功能。...

    Hibernate-Annotation中文教程.pdf

    Hibernate Annotation中文教程 Hibernate 是 Java 数据库持久性的事实标准之一,它非常强大、灵活,而且具备了优异的性能。传统上,Hibernate 的配置依赖于外部 XML 文件,而最近发布的几个 Hibernate 版本中,...

    hibernate-validator-5.0.0.CR2-dist.zip

    使用hibernate-validator 进行校验的jar包,里面包括了基础hibernate-validator-5.0.0.CR2.jar hibernate-validator-annotation-processor-5.0.0.CR2.jar 之外,还包括了el-api-2.2.jar javax.el-2.2.4等项目必不可...

    Hibernate-Annotation中文教程.docx

    2. 可以从 Hibernate 站点下载 Hibernate 3.2 和 Hibernate Annotation 库。 3. 除了标准的 Hibernate JAR 和依赖项之外,您还需要 HibernateAnnotations .jar 文件(hibernate-annotations.jar)、Java 持久性 API...

    hibernate-annotation-3.4.0.GA

    《深入理解Hibernate注解3.4.0.GA》 Hibernate作为Java领域中广泛使用的对象关系映射(ORM)框架,极大地简化了数据库操作。在3.4.0.GA版本中,Hibernate引入了注解支持,使得开发人员能够更方便地在类和属性上直接...

    hibernate-validator-annotation-processor-4.3.1.final-sources.jar.zip

    这个压缩包“hibernate-validator-annotation-processor-4.3.1.final-sources.jar.zip”包含了Hibernate Validator注解处理器的源代码,版本号为4.3.1.Final,是理解其内部工作原理和自定义验证规则的重要资源。...

    hibernate-annotation-3.2.1

    《深入理解Hibernate注解3.2.1》 Hibernate,作为Java领域中广泛使用的对象关系映射(ORM)框架,极大地简化了数据库操作。而Hibernate的注解版本,特别是3.2.1版本,更是其发展历程中的一个重要里程碑,它使得...

    Hibernate Annotation jar

    这里面包涵了需要用Hibernate Annotation时,所需要的所有jar包! 现在我们公司在做web项目的时候,已经不用*.hbm.xml这种映射文件了,都是用Annotation(注解)方式来完成实体与表之间的映射关系,这样看起来比用...

    hibernate-validator

    hibernate-validator,

    Hibernate Annotation

    Hibernate Annotation

Global site tag (gtag.js) - Google Analytics