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的基本映射:重点是对主键生成策略的认识,根据不同数据库选择不同的方式,重要理解。

相关专题

更多
高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

68

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

127

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

54

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

39

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

19

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

85

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

40

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

11

2026.01.15

ppt一键生成相关合集
ppt一键生成相关合集

本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。

47

2026.01.15

热门下载

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

精品课程

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

共28课时 | 4.5万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 2.3万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.9万人学习

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

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