知识大全 从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各种映射关系总结

Hibernate各种映射关系总结  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  多对一  第一

知识大全 Hibernate的基本标签和映射

Hibernate的基本标签和映射  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  hiberna

知识大全 Hibernate复合主键映射

Hibernate复合主键映射  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 hibernate关系映射

  一对象关系映射基础  对象间的基本关系  首先我简要阐明一下对象之间的基本关系在这以后UML的课程中也会深入的学习对象具有的四种基本关系  关联关系关联关系在设计模式中是被提倡优先使用于继承关系的

知识大全 精通Hibernate之映射继承关系(二)

精通Hibernate之映射继承关系(二)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  把每个

知识大全 Spring动态加载Hibernate映射文件

Spring动态加载Hibernate映射文件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!&nb

知识大全 精通Hibernate之映射继承关系(一)

精通Hibernate之映射继承关系(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在域模

知识大全 精通Hibernate之映射继承关系八

精通Hibernate之映射继承关系八  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  由于关系数

知识大全 精通Hibernate之映射继承关系三

精通Hibernate之映射继承关系三  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  <h

知识大全 精通Hibernate之映射继承关系二(图)

精通Hibernate之映射继承关系二(图)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  把每