1、ORM的优缺点
优点:提高开发效率,降低开发难度。缺点:系统层次增加,性能有一定损失。
2、HIbernate的5个核心接口:
[color=blue]Configuration[/color]--负责初始化时加载配置信息(hibernate.cfg.xml)并据此加载映射文件,最后创建SessionFactory对象。将读入的配置信息设置到SessionFactory对象的缓存中。
[color=blue]SessionFactory[/color]--负责创建session对象,SessionFactory实例是重量级对象,线程安全,一般使用单例模式创建。
[color=blue]Session[/color]--负责管理所有与持久化相关的操作,如数据存取、事务、对象生命周期。非线程安全,应避免多个线程公用一个Session。
[color=blue]Transaction[/color]--负责数据库事务,hibernate对底层事务接口进行了简单封装,利于移植。
[color=blue]Query和Criteria[/color]--负责hibernate的查询操作。前者适用于大多数情况,后者更适合动态查询(查询条件多变)。
3、hibernate的配置文件
两种形式:java风格;xml形式。
开发阶段一般需要配置的参数:
数据库方言、驱动、数据库连接URL、用户名&密码、显示sql,格式化sql。
4、SessionFactory的构建
优点:提高开发效率,降低开发难度。缺点:系统层次增加,性能有一定损失。
2、HIbernate的5个核心接口:
[color=blue]Configuration[/color]--负责初始化时加载配置信息(hibernate.cfg.xml)并据此加载映射文件,最后创建SessionFactory对象。将读入的配置信息设置到SessionFactory对象的缓存中。
[color=blue]SessionFactory[/color]--负责创建session对象,SessionFactory实例是重量级对象,线程安全,一般使用单例模式创建。
[color=blue]Session[/color]--负责管理所有与持久化相关的操作,如数据存取、事务、对象生命周期。非线程安全,应避免多个线程公用一个Session。
[color=blue]Transaction[/color]--负责数据库事务,hibernate对底层事务接口进行了简单封装,利于移植。
[color=blue]Query和Criteria[/color]--负责hibernate的查询操作。前者适用于大多数情况,后者更适合动态查询(查询条件多变)。
3、hibernate的配置文件
两种形式:java风格;xml形式。
开发阶段一般需要配置的参数:
数据库方言、驱动、数据库连接URL、用户名&密码、显示sql,格式化sql。
4、SessionFactory的构建
public class SessionFactory{
private static org.hibernate.SessionFactory sessionFactory;
static {
try {
Configuration Configuration=new Configuration().configure("hibernate.cfg.xml");
sessionFactory = configuration.buildSessionFactory();
}catch(Exception e){
System.err.println("Error Creating SessionFactory.");
e.printStackTrace();
}
}
/**
*get a session
*/
public static Session getSession() throws HibernateException {
Session session = sessionFactory.openSession();
return session;
}
}