zoukankan      html  css  js  c++  java
  • SessionFactory、Transaction、Query


    1.SessionFactory

      应用程序通过SessionFactory获得Session实例,并在多个应用线程间进行共享。通常情况下,整个应用只有唯一的一个会话工厂,在应用初始化时被创建。会话工厂缓存了SQL语句和Hibernate在运行时使用的映射元数据。

      Hibernate 中获取 SessionFactory 调用代码: SessionFactory sfactory = cfg.buildSessionFactory();


    2.Transaction

      Transaction 将应用代码从底层的事务实现中抽象出来,允许应用通过一组一致的API控制事务边界。这有助于保持Hibernate应用在不同类型的执行环境中的可移植性。   调用代码: Transaction tx = session.beginTransaction(); … tx.commit();


    3.Query

      Query(查询)接口允许在数据库上执行查询并控制查询如何执行。 查询语句使用HQL或者本地数据库的SQL方言编写。

      调用代码: Query query = session.createQuery(“from User”);


     4.持久化Java类必须遵循的原则

      为类的持久化字段申明访问方法(get/set),Hibernate对JavaBeans风格的属性实行持久化。

      实现一个默认的构造方法(constructor), Hibernate 可以使用 Constructor.newInstance() 进行持久化类的实例化。

      如果是集合类型属性,它的类型必须定义为集合的接口,例如:List、Set。

      提供一个标识属性(identifier property),如果没有该属性,一些功能不起作用,比如,级联更新: Session.saveOrUpdate()


  • 相关阅读:
    ValueStack、ActionContext
    s debug
    1923: [Sdoi2010]外星千足虫
    1013: [JSOI2008]球形空间产生器sphere
    HDU 3923 Invoker
    poj 1286 Necklace of Beads
    HDU 3037:Saving Beans
    2440: [中山市选2011]完全平方数
    1101: [POI2007]Zap
    1968: [Ahoi2005]COMMON 约数研究
  • 原文地址:https://www.cnblogs.com/xiaonanman/p/6851881.html
Copyright © 2011-2022 走看看