首先贴上一个MkYong的例子 stock.java package com.mkyong.stock; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import static ja…
one-to-one 元素 属性: name:映射类属性的名字 class:映射的目标类 cascade:设置操作中的级联策略 可选值为 all所有操作情况均进行级联.none所有操作情况均不进行级联.save-update执行更新操作时级联.delete执行删除操作时级联 constrained:表明当前类对应的表与被关联的表之间是否存在着外键约束 默认值为false fetch:设置抓取数据的策略 可选值为 join外连接抓取.select序列选择抓取 property-ref:设置关联类的…
一.映射多对一关联关系. 1.单向的多对一 (1)以 Customer 和 Order 为例:一个用户可以发出多个订单,而一个订单只能属于一个客户.从 Order 到 Customer 是多对一关联关系. (2)创建 Customer 和 Order 表. CREATE TABLE customer ( customer_id ) NOT NULL AUTO_INCREMENT PRIMARY KEY , customer_name ) ) CREATE TABLE `order` ( orde…
hibernate环境配置:导包.... 单向n-1:单向 n-1 关联只需从 n 的一端可以访问 1 的一端 <many-to-one> 元素来映射组成关系: name: 设定待映射的持久化类的属性的名字 column: 设定和持久化类的属性对应的表的外键 class:设定待映射的持久化类的属性的类型 建立1所对应的封装类,这儿只写属性,setter和getter就不写了: private Integer customerId; private String customerName; 建立…
映射组成关系 •建立域模型和关系数据模型有着不同的出发点: –域模型: 由程序代码组成, 通过细化持久化类的的粒度可提高代码的可重用性, 简化编程 –在没有数据冗余的情况下, 应该尽可能减少表的数目, 简化表之间的参照关系, 以便提高数据的访问速度 •Hibernate 把持久化类的属性分为两种: –值(value)类型: 没有 OID, 不能被单独持久化, 生命周期依赖于所属的持久化类的对象的生命周期 –实体(entity)类型: 有 OID, 可以被单独持久化, 有独立的生命周期 •显然无法…
009一对一  主键关联映射_单向(one-to-one) ²  两个对象之间是一对一的关系,如Person-IdCard(人—身份证号) ²  有两种策略可以实现一对一的关联映射 主键关联:即让两个对象具有相同的主键值,以表明它们之间的一一对应的关系:数据库表不会有额外的字段来维护它们之间的关系,仅通过表的主键来关联. 唯一外键关联:外键关联,本来是用于多对一的配置,但是如果加上唯一的限制之后,也可以用来表示一对一关联关系. 实例场景:人—-> 身份证号(PersonàIdCard),从IdC…
开篇前言 上篇博文[SSH进阶之路]hibernate映射--一对一单向关联映射,小编介绍了一对一的单向关联映射,单向是指只能从人(Person)这端加载身份证端(IdCard),但是反过来,不能从身份证端加载人得信息.为什么呢,因为对象模型具有方向性,在前面的博文Hibernate基本映射中,小编介绍了单向和双向,所谓的单向就是一段只能加载另一个端,不能反过来:双向就是两端都可以加载另一端,可以这样来理解,单向就是一厢情愿,双向就是两情相悦.ok,那么问题来了,如果我们想从IdCard这端加载…
上篇博文[SSH进阶之路]Hibernate映射--一对一单向关联映射(五),我们介绍了一对一的单向关联映射,单向是指仅仅能从人(Person)这端载入身份证端(IdCard),可是反过来.不能从身份证端载入人得信息. 如图所看到的: 关键原因在于对象模型具有方向性: 单向:一端仅仅能载入还有一端.不能反过来. 双向:两端都能够载入还有一端. 问题来了:怎样我们想从身份证端(IdCard)载入人(Person),怎么办呢? 以下我们開始介绍一对一的双向关联映射. 映射原理 双向关联映射与单向关联…
原文地址:http://blog.csdn.net/lovesummerforever/article/details/20901011   尊重原创,请访问原网址 回想一些我们在没有学习ssh的时候,我们建立数据库的表时,首先是数据库建模E-R图,然后再通过实体模型来建立关系模型,再建立相应的表.实体间存在三种关系,一对一,一对多(或者说多对一),多对多.而如今我们要根据类来映射相应的表,那只能是通过类与类之间的关系加上映射文件来映射数据库的表.我们学习UML建模,类与类之间存在五种关系,继承…
[SSH进阶之路]Hibernate基本原理(一) ,小编介绍了Hibernate的基本原理以及它的核心,採用对象化的思维操作关系型数据库. [SSH进阶之路]Hibernate搭建开发环境+简单实例(二),小编搭建了基本Hibernate的开发环境.并做了一个简单实例,对它的基本原理有了一个理性的认识. [SSH进阶之路]Hibernate基本映射(三),我们介绍了Hibernate的基本映射(即对一个实体进行映射)的相关概念.并给大家实现相关实例.比較简单. [SSH进阶之路]Hiberna…
转自 http://blog.csdn.net/a9529lty/article/details/6454924 一.hibernate映射文件的作用: Hibernate映射文件是Hibernate与数据库进行持久化的桥梁 二,Hibernate映射文件主要内容: (1).映射内容的定义: Hibernate映射文件由<hibernate-mapping package="JavaBean所在包的全路径">节点定义映射内容并指定所对应的JavaBean的位置(也可以不在该…
Hibernate的持久化类和关系数据库之间的映射通常是用一个XML文档来定义的.该文档通过一系列XML元素的配置,来将持久化类与数据库表之间建立起一一映射.这意味着映射文档是按照持久化类的定义来创建的,而不是表的定义. 一.根元素:<hibernate-mapping>,每一个hbm.xml文件都有唯一的一个根元素,包含一些可选的属性 1)package:指定一个包前缀,如果在映射文档中没有指定全限定的类名,就使用这个作为包名,如 <hibernate-mapping package=…
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…
概要: 在Spring的applicationContext.xml中集成Hibernate映射文件,通常是在<sessionFactory>这个Bean实例中进行的,若配置的映射文件较少时,可以用sessionFactory的所属类LocalSessionFactoryBean的“mappingResources”属性,但使用“mappingResources”属性并不是唯一的选择.其他等价选择包括(mappingLocations.mappingDirectoryLocations与map…
Hibernate注解映射sequence时出现无序增长问题+hibernate 映射 oracle ID自动增长: 通过Hibernate注解的方式映射oracel数据库的sequence主键生成器时,出现增加数据时sequence无序增长的问题,配置如下@SequenceGenerator(name = "SEQ_DM_SERVICE_MODEL", sequenceName = SEQ_DM_SERVICE_MODEL")@Id@GeneratedValue(strat…
1.查询系统关键 select * from v$reserved_words 确认你使用的是否为关键字: select * from v$reserved_words w where w.KEYWORD='LEVEL'; 2.系统关键字需要加双引号 update UT_MENU  set "LEVEL"=2 where menuid=57886 如果这条语句在在sqlplus里面执行,则同样会提示ORA-01747错误,可以到sqlplus命令行里面执行就ok.有知道sqlplus怎…
Hibernate映射类型对照表 java类型  Hibernate映射类型  SQL类型 java.math.BigDecimal big_decimal numeric byte[] binary varbinary(blob) boolean(java.lang.Boolean) boolean bit byte(java.lang.Byte) byte  tinyint java.util.Calendar calendar timestamp java.sql.Clob clob cl…
前言:Hibernate的核心功能是根据数据库到实体类的映射,自动从数据库绑定数据到实体类.使我们操作实体类(Java对象)就能对数据库进行增.删.查.改,而不用调用JDBC API使数据操作变得简单而不繁琐.本文就主要讲解Hibernate的映射文件的映射机制,但本文讲解的重点在于通过Hibernate如何配置实体类到数据库表的映射,至于数据库表(或实体类)之间的各种关联关系的映射会在后面的文章中讲到. 1.映射配置文件基础(XXX.hbm.xml)     说明:本节只是对Hibernate…
基础知识: 在 Java 中, 代表时间和日期的类型包含: java.util.Date 和 java.util.Calendar. 此外, 在 JDBC API 中还提供了 3 个扩展了 java.util.Date 类的子类: java.sql.Date, java.sql.Time 和 java.sql.Timestamp, 这三个类分别和标准 SQL 类型中的 DATE, TIME 和 TIMESTAMP 类型相应 在标准 SQL 中, DATE 类型表示日期, TIME 类型表示时间,…
   ++YONG原创,转载请注明http://blog.csdn.net/qjyong/article/details/1829672          Hibernate映射主要是通过对象关系映射文件实现,对象关系映射文件把数据库中的实体(一般为二维表)映射到面向对象中的实体对象,把数据库中多个表之间的相互关系也反映到映射好的类中.以后,在Hibernate中对数据库的操作就直接转换为对这些实体对象的操作了. 1.    映射文件说明: 正确理解各个配置选项的含义是掌握映射文件的关键.映射文…
Hibernate 使用JPA 对于映射有3种规则能够配置:DefaultNamingStrategy,ImprovedNamingStrategy,EJB3NamingStrategy 这里仅仅说ImprovedNamingStrategy,其它自行看Hibernate代码,ImprovedNamingStrategy的代码例如以下,是一个singleton instance: /* * Hibernate, Relational Persistence for Idiomatic Java…
    映射原理       一对多关联映射和多对一关联映射的映射原理是一样一样的,所以说嘛,知识都是相通的,一通百通,为什么说一对多关联映射和多对一关联映射是一样的呢?因为她们都是在多的一端加入一个外键,指向一的一段,关联关系都是在多的一端进行维护,只是我们在写映射的时候发生了变化.       一对多和多对一的映射原理是一样的,但是她们之间也存在着小小的区别,毕竟世界上没有两片完全相同的叶子,她们之间的区别就是维护的关系不同,我们先来看多对一,多端维护一端的关系,在加载多端的时候,可以将一端…
LocalSessionFactoryBean有好几个属性用来查找hibernate映射文件: mappingResources.mappingLocations.mappingDirectoryLocations与mappingJarLocations 1.mappingResources:指定classpath下具体映射文件名 eg: xml代码 <property name="mappingResources" value=“userTest.hbm.xml”/> 或…
第一节:基本类型映射 com.cy.model.Book.java: package com.cy.model; import java.sql.Blob; import java.util.Date; public class Book { private int id; private String bookName; // 图书名称 private float price; //图书价格 private boolean specialPrice; //是否是特价 private Date…
看到一篇Hibernate 映射Map属性的文章挺好的转载一下原地址:http://blog.sina.com.cn/s/blog_86f4502c0101fs1x.html Map集合属于有序集合,映射时需指定Map集合的key(外键列).map-key(Map集合主键).element(元素列): Map集合以外键列和Map-key列作为联合主键,由于主键以被有效地索引,Hibernate更新或删除一行数据时,可以迅速定位到该行,因此性能较高: 另外,集合属性通常采用延迟加载. 实例: 说明…
[前面的话] 身体慢慢已经快好了,感觉真好,哈哈. 这篇文章要通过Hibernate对数据库进行操作,而Netbeans可以直接通过数据库逆向生成对应的映射文件.基础文章,选择性阅读. [步骤] 1. 在netbeans中选择服务,点击数据库,选择建立连接 2. 我要使用的是oracle,所以我选择Oracle Thin.需要加入连接的jar包,点击添加,然后加入就行了.点击下一步. 3. 输入主机名,端口号,服务ID,用户名,口令. 我使用的是远端的数据库所以我输入的主机就是:195.xx.x…
<!-- 这里一定要注意是使用spring的mappingLocations属性进行通配的 -->      <property name="mappingLocations">         <list>            <value>classpath:/com/model/domain/*.hbm.xml</value> </list>      </property> ---------…
以下情况下必须显式指定 Hibernate 映射类型 一个 Java 类型可能对应多个 Hibernate 映射类型. 例如: 如果持久化类的属性为 java.util.Date 类型, 对应的 Hibernate 映射类型可以是 date, time 或 timestamp. 此时必须根据对应的数据表的字段的 SQL 类型, 来确定 Hibernate 映射类型. 如果字段为 DATE 类型, 那么 Hibernate 映射类型为 date; 如果字段为 TIME 类型, 那么 Hiberna…
hibernate映射异常:Use of @OneToMany or @ManyToMany targeting an unmapped class 新建了PO以后,要把PO所在的目录加入到Hibernate配置文件中sessionFactory的分析路径当中去!…
创建web工程,使用Hibernate的时候,在工程里一个一个创建实体类太麻烦,浪费时间,现在教大家如何用MyEclipse自动生成Hibernate映射文件及实体类 方法/步骤   创建数据库,创建相应的表   点击图标,选择MyEclipse Datebase Explorer   右击空白区域,选择new菜单,根据提示创建数据库连接,创建好后会显示你所创建的连接名,如图mysqldb是我创建的数据库连接   选择需要添加hibernate映像文件的工程右击--->MyEclipse-->…