Hibernate原理引见及简单实例入门体验
Hibernate原理介绍及简单实例入门体验面向对象开发中的问题:模型不匹配(阻抗不匹配)????Java面向对象语言,
Hibernate原理介绍及简单实例入门体验
面向对象开发中的问题:模型不匹配(阻抗不匹配)
????Java面向对象语言,对象模型,其主要概念有:继承、关联、多态等,数据库是关系模型,其主要概念有:表、主键、外键等。
?
?
解决办法
使用JDBC手工转换。 使用ORM(Object Relation Mapping对象关系映射)框架来解决,主流的ORM框架有Hibernate 、TopLink. OJB 。
JDBC手工转换方法代码示例:
?hibernate的一个简单的例子:
一、在Eclipse里新建一个工程,导入上文所说的开发hibernate所需要的jar包。
?
二、写一个简单实体
User.java
package?com.mzhj.hibernate; ????import?java.util.Date; ?? ??import?org.hibernate.Session; ?? import?org.hibernate.SessionFactory; ?? import?org.hibernate.cfg.Configuration; ?? ??import?com.mzhj.hibernate.domain.User; ?? ??public?class?Base?{ ?? ????public?static?void?main(String?args[]){ ?? ????????Configuration?cfg=new?Configuration();??//找到hibernate.cfg.xml文件并进行初始化。 ?? ????????SessionFactory?sf=cfg.configure().buildSessionFactory();????//通过初始化对象获得Session工厂。 ?? ????????//Configuration对象必须先调用一下confgiure方法,否则会出现Hibernate?Dialect?must?be?explicitly?set错误。 ?? ????????Session?session=sf.openSession();?//打开一个Session对象。 ?? ????????User?user=new?User();??? ?? ????????user.setBirthday(new?Date()); ?? ????????session.beginTransaction();?//开启事务,否则不能保存成功,除非这个数据库用的引擎是不支持事务的引擎如:MyISAM引擎。 ?? ????????session.save(user); ??????????session.getTransaction().commit();??//提交事务。 ?? ????} ??} ????