0

0

Hibernate基础映射

php中文网

php中文网

发布时间:2016-06-07 16:09:59

|

1358人浏览过

|

来源于php中文网

原创

在说Hibernate映射前,我们先来了解下对象关系映射 ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对这些对象的操作。我们来看一张图 vcHLudjPtcr9vt26zbbUz/PK/b7d1q685LXE07PJ5KOs

在说Hibernate映射前,我们先来了解下对象关系映射 ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对这些对象的操作。我们来看一张图

vchludjptcr9vt26zbbuz/pk/b7d1q685lxe07pj5kosv8ns1m2ouf3ts8nkudjptdfutq+y+sn6u1fm0+++5kos1nrstc7xwt+8rbljus3k/b7dsupwrrzks+s1scffwbqhozwvcd4kpggypkhpymvybmf0zdozyeq8l2gypgo8cd4gpgltzybzcmm9"http://www.2cto.com/uploadfile/collfiles/20141110/20141110091545138.jpg" alt="\">

Hibernate文件

  1. 映射类(*.java):它是描述数据库表的结构,表中的字段在类中被描述成属性,将来就可以实现把表中的记录映射成为该类的对象了。
  2. 映射文件(*.hbm.xml):它是指定数据库表和映射类之间的关系,包括映射类和数据库表的对应关系、表字段和类属性类型的对应关系以及表字段和类属性名称的对应关系等。
  3. 数据库配置文件(*.properties/*.cfg.xml):它是指定与数据库连接时需要的连接信息,比如连接哪种数据库、登录数据库的用户名、登录密码以及连接字符串等。当然还可以把映射类的地址映射信息放在这里。

    基本映射:

    具体看操作

    1映射实体类

    //默认空构造函数的重要性
    public class User {
    
    	public User() {
    		// TODO Auto-generated constructor stub
    	}
    	
    	public User(String id,String name){
    		this.id=id;
    		this.name=name;
    		
    	}
    	private String id;
    	public String getId() {
    		return id;
    	}
    	public void setId(String id) {
    		this.id = id;
    	}
    	public String getName() {
    		return name;
    	}
    	public void setName(String name) {
    		this.name = name;
    	}
    	public String getPassword() {
    		return password;
    	}
    	public void setPassword(String password) {
    		this.password = password;
    	}
    	public Date getCreateTime() {
    		return createTime;
    	}
    	public void setCreateTime(Date createTime) {
    		this.createTime = createTime;
    	}
    	public Date getExprieTime() {
    		return exprieTime;
    	}
    	public void setExprieTime(Date exprieTime) {
    		this.exprieTime = exprieTime;
    	}
    
    	private String name;
    	private String password;
    	private Date createTime;
    	private Date exprieTime;
    
    }
    

    实体类的设计原则:

    * 实现无参的默认的构造函数 * 提供一个标识 *建议不要使用final修饰实体类(因为采用load延时加载数据的时候会继承实体类生成代理对象) *建议为实体类生成getter和setter方法(如果不使用,需要用属性field标识)

    2映射文件User.hbm.xml

    
    
    
      
    	
    	  
    		
    			   
    			
    		
    		   
    		
    		
    		
    		
    		
    	
    

    3hibernate.cfg.xml配置文件

    PageAdmin企业网站管理系统4.0.25
    PageAdmin企业网站管理系统4.0.25

    PageAdmin企业网站管理系统V4.0,基于微软最新的MVC框架全新开发,强大的后台管理功能,良好的用户操作体验,可热插拔的插件功能让扩展更加灵活和开放,全部信息表采用自定义表单,可任意自定义扩展字段,支持一对一,一对多的表映射.....各种简单到复杂的网站都可以轻松应付。 PageAdmin V4.0.25更新日志: 1、重写子栏目功能,解决之前版本子栏目数据可能重复的问题 2

    下载
    	
    	
    	
    		
    			com.mysql.jdbc.Driver
    			jdbc:mysql://localhost:3306/hibernast_test
    			root
    			hanhan
    			org.hibernate.dialect.MySQLDialect
    			
    			true
    			
    			update
    			
    		
    		
    	

    Hibernate的主键生成策略种类

    手动:Assigned

    Hibernate主动:uuid

    数据库交互:

    需要和数据库交互以生成id的:guid、identity、sequence、native、foreign

    说明:需要和数据库交互生成,需要经过一次查询才能生成

    Guid,identity:MySQL,SQLserver的生成方式

    sequence:Oracle,db2的生成方式,自增序列

    native:identity+sequence,跨平台

    foreign:只适用基于共享主键的一对一关联映射的时候使用。即一个对象的主键是参照的另一张表的主键生成的。

    总结:

    Hibernate的基本映射:重点是对主键生成策略的认识,根据不同数据库选择不同的方式,重要理解。

相关专题

更多
php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

7

2025.12.31

php网站源码教程大全
php网站源码教程大全

本专题整合了php网站源码相关教程,阅读专题下面的文章了解更多详细内容。

4

2025.12.31

视频文件格式
视频文件格式

本专题整合了视频文件格式相关内容,阅读专题下面的文章了解更多详细内容。

7

2025.12.31

不受国内限制的浏览器大全
不受国内限制的浏览器大全

想找真正自由、无限制的上网体验?本合集精选2025年最开放、隐私强、访问无阻的浏览器App,涵盖Tor、Brave、Via、X浏览器、Mullvad等高自由度工具。支持自定义搜索引擎、广告拦截、隐身模式及全球网站无障碍访问,部分更具备防追踪、去谷歌化、双内核切换等高级功能。无论日常浏览、隐私保护还是突破地域限制,总有一款适合你!

7

2025.12.31

出现404解决方法大全
出现404解决方法大全

本专题整合了404错误解决方法大全,阅读专题下面的文章了解更多详细内容。

42

2025.12.31

html5怎么播放视频
html5怎么播放视频

想让网页流畅播放视频?本合集详解HTML5视频播放核心方法!涵盖<video>标签基础用法、多格式兼容(MP4/WebM/OGV)、自定义播放控件、响应式适配及常见浏览器兼容问题解决方案。无需插件,纯前端实现高清视频嵌入,助你快速打造现代化网页视频体验。

4

2025.12.31

关闭win10系统自动更新教程大全
关闭win10系统自动更新教程大全

本专题整合了关闭win10系统自动更新教程大全,阅读专题下面的文章了解更多详细内容。

3

2025.12.31

阻止电脑自动安装软件教程
阻止电脑自动安装软件教程

本专题整合了阻止电脑自动安装软件教程,阅读专题下面的文章了解更多详细教程。

3

2025.12.31

html5怎么使用
html5怎么使用

想快速上手HTML5开发?本合集为你整理最实用的HTML5使用指南!涵盖HTML5基础语法、主流框架(如Bootstrap、Vue、React)集成方法,以及无需安装、直接在线编辑运行的平台推荐(如CodePen、JSFiddle)。无论你是新手还是进阶开发者,都能轻松掌握HTML5网页制作、响应式布局与交互功能开发,零配置开启高效前端编程之旅!

2

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Rust 教程
Rust 教程

共28课时 | 4万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 1.9万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号