Hibernate映射1

Hibernet映射

集合映射:

类的属性字段是集合的。

set:

<set name=”属性字段” table=“属性字段的表名”>

<key 外键 column=“”>

<element column=“属性存储内容的位置名称” type=””>

set集合属性的映射

name 指定要映射的set集合的属性

table 集合属性要映射到的表

key  指定集合表(t_address)的外键字段

element 指定集合表的其他字段

type 元素类型,一定要指定

list:

<list name=”属性字段” table=“属性字段的表名”>

<key 外键 column=“”>

<list-index column=”index”>  list是有序的,这个是用来排序的

<element column=“属性存储内容的位置名称” type=””>

--

list集合映射

list-index  指定的是排序列的名称 (因为要保证list集合的有序)

map:

<map name=”属性字段” table=“属性字段的表名”>

<key 外键 column=“”>

<map-key column=”第一个内容:属性存储内容的位置名称” type=”” >

<element column=“第二个内容:属性存储内容的位置名称” type=””>

map集合的映射

key  指定外键字段

map-key 指定map的key

element  指定map的value

一对多,多对一

<many-to-one name=”属性字段” calss=”另一个类的名称” column=”外键字段”>

<one-to-mony calss=”另一个类的名称”>

在一对多与多对一的关联关系中,保存数据最好的通过多的一方来维护关系,这样可以减少update语句的生成,从而提高hibernate的执行效率!

注意:

配置了哪一方,哪一方才有维护关联关系的权限!

Inverse属性

Inverse属性,是在维护关联关系的时候起作用的。

表示控制权是否转移。(在一的一方起作用)

Inverse , 控制反转。

Inverse = false  不反转;   当前方有控制权

True  控制反转; 当前方没有控制权

cascade  表示级联操作  【可以设置到一的一方或多的一方】

none          不级联操作, 默认值

save-update     级联保存或更新

delete                  级联删除

save-update,delete    级联保存、更新、删除

all                 同上。级联保存、更新、删除

多对多

<many-to-many column="另一个类的id" class="另一个类的名字"></many-to-many>

many-to-many

column 指定外键字段对应的项目字段

class  集合元素的类型

时间: 2024-10-15 00:45:40

Hibernate映射1的相关文章

hibernate 大对象类型的hibernate映射

基本知识: 在 Java 中, java.lang.String 可用于表示长字符串(长度超过 255), 字节数组 byte[] 可用于存放图片或文件的二进制数据. 此外, 在 JDBC API 中还提供了 java.sql.Clob 和 java.sql.Blob 类型, 它们分别和标准 SQL 中的 CLOB 和 BLOB 类型对应. CLOB 表示字符串大对象(Character Large Object), BLOB表示二进制对象(Binary Large Object) Mysql

Hibernate 映射字段问题[ImprovedNamingStrategy]

Hibernate 使用JPA 对于映射有3种规则可以配置:DefaultNamingStrategy,ImprovedNamingStrategy,EJB3NamingStrategy 这里只说ImprovedNamingStrategy,其他自行看Hibernate代码,ImprovedNamingStrategy的代码如下,是一个singleton instance: /* * Hibernate, Relational Persistence for Idiomatic Java * *

Hibernate映射文件

hibernate映射文件 作用:将实体类和数据库中的表建立起联系 每个数据库表对应一个映射文件和实体类 1 根节点<hibernate-mapping> package属性表示实体类所在的包,可以省略 <hibernate-mapping package="com.bdqn.hiber.bean"> 2 <class>节点 name属性表示实体类的类名(当根节点的package属性省略时,名称则要写成却类名,例:com.xsh.bean.User)

02.Hibernate映射基础

前言:Hibernate的核心功能是根据数据库到实体类的映射,自动从数据库绑定数据到实体类.使我们操作实体类(Java对象)就能对数据库进行增.删.查.改,而不用调用JDBC API使数据操作变得简单而不繁琐.本文就主要讲解Hibernate的映射文件的映射机制,但本文讲解的重点在于通过Hibernate如何配置实体类到数据库表的映射,至于数据库表(或实体类)之间的各种关联关系的映射会在后面的文章中讲到. 1.映射配置文件基础(XXX.hbm.xml) 说明:本节只是对Hibernate的映射文

Hibernate映射关系之多对多

1.用户表user和优惠券coupon存在多对多的关系,一个用户可以拥有多个优惠券,一个优惠券可以从属于多个用户. 2.user.java,创建了中间表tb_user_coupon (1)JoinTable表示中间表的 (2) /** * 一个用户可以拥有多个优惠券 但优惠券只有自己的属性,没有用户的引用 单边的一对多关系 */ @ManyToMany(fetch = FetchType.EAGER, cascade = { CascadeType.PERSIST }) @JoinTable(n

Hibernate映射文件如何配置触发器

Hibernate映射文件之触发器生成(generated属性.database-object元素) (2013-02-27 12:28:49) 转载▼ 标签: it 分类: JAVA学习笔记 这里分两个Project: 第一个Project: 通过映射文件的database-object来创建数据表.触发器 1. 创建两个.java文件: CreateTable.java和CreateTrigger.java,里面只需有个类名就行,目的是要创建对应的映射文件CreateTable.hbm.xm

【SSH系列】Hibernate映射 -- 一对多关联映射

    映射原理       一对多关联映射和多对一关联映射的映射原理是一样一样的,所以说嘛,知识都是相通的,一通百通,为什么说一对多关联映射和多对一关联映射是一样的呢?因为她们都是在多的一端加入一个外键,指向一的一段,关联关系都是在多的一端进行维护,只是我们在写映射的时候发生了变化.       一对多和多对一的映射原理是一样的,但是她们之间也存在着小小的区别,毕竟世界上没有两片完全相同的叶子,她们之间的区别就是维护的关系不同,我们先来看多对一,多端维护一端的关系,在加载多端的时候,可以将一端

hibernate 映射文件配置默认值方法

问题描述:     hibernate技术中对应数据库中每一个表,都会有一个映射文件与之对应,此文件描述数据库表中每一个字段的类型.长度.是否可空等属性.在进行表中记录的插入(更新)操作时,hibernate会根据映射文件中的描述自动生成一个包含所有字段的插入(更新)sql语句,此时如果映射文件中某字段的值为空(NULL)而其在数据库表中定义的默认值不为空,hibernate会将空值插入到表中,而不会使用此字段的默认值. 解决方法:     在hibernate映射文件对数据库表的描述中,加入d

hibernate 映射组成关系

建立域模型和关系数据模型有着不同的出发点: 域模型: 由程序代码组成, 通过细化持久化类的的粒度可提高代码的可重用性, 简化编程 在没有数据冗余的情况下, 应该尽可能减少表的数目, 简化表之间的参照关系, 以便提高数据的访问速度 Hibernate 把持久化类的属性分为两种: 值(value)类型: 没有 OID, 不能被单独持久化, 生命周期依赖于所属的持久化类的对象的生命周期 实体(entity)类型: 有 OID, 可以被单独持久化, 有独立的生命周期(如果实体类型包含值类型,这个值类型就

坑爹的Hibernate 映射文件错误提示org.xml.sax.SAXParseException

今天整整一个上午都在和hibernate做斗争,早上一来,继续昨天的项目开发,发现spring项目不能启动,从错误中看是hibernate错误,多半是hibernate配置有错误,关键是错误提示中显示“com.mdnet.travel.core.dao.ValidCodeDAOImpl”不能注入,经过仔细查看未见异常,而且这个文件好久没有改过了.没办法把hibernate的配置改成如下配置: <bean id="sessionFactory" class="org.sp