|
最近正在学习hibernate但理解还不是很深刻,Hibernate的中文意思是“冬眠”,这就意味着一动不动,当然也就是持久的意思了。Hibernate是采用ORM模式实现数据持久层的一个优秀的Java组件,它提供了强大、高效的将Java对象进行持久化操作的服务。利用Hibernate,开发人员可以方便地按照Java对象的结构进行持久层的开发,并可以使用Hibernate所提供的HQL(Hibernate Query Language,Hibernate查询语言)完成Java对象和关系型数据库之间的转换和操作。
首先认识的是第一个可持久化类: Hibernate最好的使用方法是使用普通的Java对象(Plain Old Java Objects ,就是POJOs,有时候也称作Plain Ordinary Java Objects)这种编程模型来进行持久化。一个POJO很像JavaBean,属性通过getter和setter方法访问,对外隐藏了内部实现的细节。
下面是学习时的一个小例子: package cn.com.shxt.model;
/** * User generated by MyEclipse - Hibernate Tools */
public class User implements java.io.Serializable {
// Fields
private String id; private String name; private String password;
// Constructors
/** default constructor */ public User() { }
/** full constructor */ public User(String name, String password) { this.name = name; this.password = password; }
// Property accessors
public String getId() { return this.id; } public void setId(String id) { this.id = id; }
public String getName() { return this.name; } public void setName(String name) { this.name = name; }
public String getPassword() { return this.password; } public void setPassword(String password) { this.password = password; } }
Hibernate对属性使用的类型不加限制。所有的Java JDK类型和原始类型(比如String,char和Date)都可以被映射,也包括Java 集合框架(Java collections framework)中的类。你可以把它们映射成为值,值集合,或者与其他实体相关联。id是一个特殊的属性,代表了这个类的数据库标识符(主键),对于类似于Cat这样的实体我们强烈建议使用。Hibernate可以只在内部使用标识符,但这样我们会失去一些程序结构方面的灵活性。
持久化类不需要实现什么特别的接口,也不需要从一个特别的持久化根类继承下来。Hibernate也不需要使用任何编译期处理,比如字节码增强操作,它独立的使用Java反射机制和运行时类增强(通过CGLIB)。所以,在Hibernate中,POJO的类不需要任何前提条件,我们就可以把它映射成为数据库表。
|
一共有 1 条评论