Hibernate关系级别注解

最近在学习Hibernate的相关知识,这一站学习的是Hibernate的注解相关的操作和知识。在这里标注以下为以后查阅和需要帮助的朋友提供便利。

一、 开发环境的搭建:

  1、 需要的jar包配置:

  

  解释: 这里有连接mysql数据库的包,单体测试包,还有Hibernate的jar包。

二、Hibbernate.cfg.xml配置文件:

  

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<!-- old: http://hibernate.sourceforge.net/hibernate-configuration-3.6.dtd -->
<!-- new: http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd -->
<!--    : http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd -->
<hibernate-configuration>
<session-factory>
    <!-- 显示sql语句 -->
    <property name="show_sql">true</property>
    <property name="myeclipse.connection.profile">bookshop</property>
    <!-- <property name="connection.url">
        jdbc:mysql://localhost:3306/bookshop
        jdbc:mysql://localhost:3306/database?useUnicode=true&amp;characterEncoding=UTF-8
    </property> -->

    <property name="connection.url">jdbc:mysql://localhost:3306/hibernate?useUnicode=true&amp;characterEncoding=UTF-8</property>
    <property name="connection.username">root</property>
    <property name="connection.password">root</property>
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="format_sql">true</property>
    <property name="hbm2ddl.auto">update</property>
    <property name="hibernate.current_session_context_class">thread</property>

    <!-- 将实体类映射到数据库 -->
    <mapping class="com.entity.Students"/>
</session-factory>
</hibernate-configuration>

三、 Hibernate中的关系级别主要包含如下内容:

  1、一对一单向外键关联;

  2、一对一双向外键关联;

  3、一对一单向外键联合主键;

  4、多对一单向外键关联;

  5、一对多单向外键关联;

  6、一对多的双向外键关联;

  7、多对多单向外键关联;

  8、多对多双向外键关联;

  以下的内容会分别介绍这些关联的具体操作;

四、 实体之间的关系映射:

  1、一对一:一个公民对应一个身份证;

  2、一对多(多对一): 一个人有多个银行卡帐号;

  3、多对多: 一个学生有多个老师,一个老师有多个学生;

以下的内容会分8片博客分别讲解hibernate的关系映射。

时间: 2024-10-09 04:56:31

Hibernate关系级别注解的相关文章

映射关系级别注解

映射关系级别注解 一对一单向外键 @OneToOne(cascade=CascadeType.ALL) @JoinColumn(name="pid",unique=true) 注意:保存时应该先保存外键对象,在保存主表对象 实例:将环境配置好,所需要的包前边已经提到过, 学生实体类: package com.oto; import java.util.Date; import javax.persistence.CascadeType; import javax.persistence

Hibernate关系映射(注解)

1.类级别注解 @Entity     映射实体类 @Table    映射数句库表 @Entity(name="tableName") - 必须,注解将一个类声明为一个实体bean. 属性: name - 可选,对应数据库中的一个表.若表名与实体类名相同,则可以省略. @Table(name="",catalog="",schema="")  - 可选,通常和@Entity 配合使用,只能标注在实  体的 class定义处,

hibernate笔记--使用注解(annotation)方式配置单(双)向多对一的映射关系

前面几篇都是介绍的用配置文件来实现实体类到数据库表的映射,这种方式是比较麻烦的,每一个pojo类都需要写一个相应的*.hbm.xml,无疑增加了很多代码量,不过也有优点就是利于维护,为了方便开发,Hibernate还提供了注解方式配置映射文件,非常灵活,减少了配置文件的冗余,虽然维护起来相对比较麻烦,但是的确很方便开发.现在开发中(据说)也越来越流行使用注解,这里贴一个使用注解开发的小例子. 假设有两张表,一张书籍表Book,一张书籍分类表Category,很明显Book和Category是多对

Hibernate学习之类级别注解

? 版权声明:本文为博主原创文章,转载请注明出处 类级别注解: 1. @Entity 实体:表示映射实体类,使用@Entity时必须指定实体类的主键属性 @Entity(name="") name:可选,对应数据库中的一张表.若表名与实体名相同则可省略 2. @Table 表:表示实体类对应的数据库表的信息 @Table(name="", catalog="", schema="") name:可选,映射表的名称,默认表名与实

01-hibernate注解:类级别注解准备工作

注解简介: 目的:为了简化繁琐的ORM映射文件(.hbm)的配置. JPA与hibernate的关系 JPA:全称 java Persistence API(java持久化API接口) JPA注解是JAVAEE的规范和标准 JPA和hibernate的关系: JPA是标准接口,hibernate是实现,但是其功能是JPA的超集. hibernate如何实现与JPA的关系: 通过hibernate-annotation,hibernate-entitymanager和hibernate-core三

spring+hibernate实体类注解详解(非原创) + cascade属性取值

@Entity //继承策略.另一个类继承本类,那么本类里的属性应用到另一个类中 @Inheritance(strategy = InheritanceType.JOINED ) @Table(name="INFOM_TESTRESULT") public class TestResult extends IdEntity{} 1 @Entity(name="EntityName") 必须 name为可选,对应数据库中一的个表 2 @Table(name="

HIbernate实体类注解配置

一.类级别注解 1.@Entity(name="EntityName") 必须 name为可选,对应数据库中一的个表 2.@Table(name="",catalog="",schema="") 可选,通常和@Entity配合使用,只能标注在实体的class定义处,表示实体对应的数据库表的信息 name:可选,表示表的名称.默认地,表名和实体名称一致,只有在不一致的情况下才需要指定表名 catalog:可选,表示Catalog

Rhythmk 学习 Hibernate 07 - Hibernate annotation 实体注解

参考: http://docs.jboss.org/hibernate/annotations/3.4/reference/zh_cn/html_single/ 1.系统配置: 可以通过使用  mapping的 resource,于class 属性混合配置 <mapping resource="com/rhythmk/model/product.hbm.xml" /> <mapping class="com.rhythmk.model.User"&

Hibernate关系映射基础

1.  Hibernate关系映射基础 1.1.  Doctype <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 指定根元素和dtd文件的命名空间. 1.2.  hibernate-mapping <hiberna