知识大全 从Hibernate的映射谈编程思想
Posted 属性
篇首语:吾生也有涯,而知也无涯。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 从Hibernate的映射谈编程思想相关的知识,希望对你有一定的参考价值。
从Hibernate的映射谈编程思想 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
很多java工程师在作Hibernate应用开发时会遇到一些问题 我该写哪些东西?映射文件的XML元素我为什么记不住?等等 以下就这两个问题谈谈我的一些心得
首先 学习任何一门新的框架首先要理解它所解决的问题域 Hibernate是一个解决对象关系映射的框架(ORM) 这说明ORM必须遵循一定的规则 否则就不可能形成框架 ORM遵循的基本规则是什么呢?用这样四句话进行总结
类型(class)对应表(table)
属性(property)对应列(column) 必须有特殊属性对象标识符(id)对应主键(primary key);
类型的关联(association)关系对应外键(foreign key);
类型的实例即对象(object)对应记录(record)或行(row)
前三项描述的是静态特性 映射文件主要描述的就是这三项静态特性 ORM技术O在前 当然映射文件应以其对应的类型(class)为中心进行描述 Gavin King在使用XML时喜欢用元素的属性来描述不具扩展前景的数据 其中name属性描述java程序中JavaBean的属性(属性值大小写敏感) 映射文件的根元素用英文的mapping就可以了 但Gavin King不能脱俗 加上了hibernate的前缀让人们记住他
有了以上的准则 加上我们学会了文章一开始就列出的几个英文单词 hibernate映射文件中常用的 % %已经印在了我们的脑袋 让我们用一个不包含关联关系的例子来验证
实体类型Student:
package kettas hibernate entity;
import java io Serializable;
import java util Date;
public class Student implements Serializable
private Long id;
private String name;
private Date birthday;
private char gender;
public Student()
super();
public Student(String name Date birthday char gender)
super();
this name = name;
this birthday = birthday;
this gender = gender;
Date getBirthday()
return birthday;
void setBirthday(Date birthday)
this birthday = birthday;
char getGender()
return gender;
void setGender(char gender)
this gender = gender;
Long getId()
return id;
void setId(Long id)
this id = id;
String getName()
return name;
void setName(String name)
this name = name;
映射文件
<hibernate mapping package= kettas hibernate entity >
<!—类型对应表 >
<class name= Student table= STUDENTS >
<!—id属性对应primary keyà
<id name= id column= STUDENTNO unsaved value= null >
<generator class= native />
</id>
<!—property对应列à
<property name= name column= NAME />
<property name= birthday column= BIRTHDAY />
<property name= gender column= SEX />
</class>
</hibernate mapping>
除了generator(生成器)和unsaved value外 我们没有看到更多的英文词汇 generator说明主键的生成算法 unsaved value的值让hibernate能够判断对象是否为transient(瞬态)对象
除了要写实体类型和映射文件 hibernate应用还需要写什么呢?当然必须有一个Java应用使用hibernate的API操作实体 这个应用知道操作哪些实体?如何和数据库通讯来完成持久化呢?通过配置文件就行了 所以配置文件里有描述连接数据库的属性和映射文件的元素 任何一本Hibernate的书都会提供如下hibernate架构图
cha138/Article/program/Java/ky/201311/28142
相关参考
Hibernate各种映射关系总结 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 多对一 第一
Hibernate的基本标签和映射 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! hiberna
Hibernate复合主键映射 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  
一对象关系映射基础 对象间的基本关系 首先我简要阐明一下对象之间的基本关系在这以后UML的课程中也会深入的学习对象具有的四种基本关系 关联关系关联关系在设计模式中是被提倡优先使用于继承关系的
精通Hibernate之映射继承关系(二) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 把每个
Spring动态加载Hibernate映射文件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb
精通Hibernate之映射继承关系(一) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在域模
精通Hibernate之映射继承关系八 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 由于关系数
精通Hibernate之映射继承关系三 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! <h
精通Hibernate之映射继承关系二(图) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 把每