hibernate开发常用细节

hibernate开发常用细节
1.表中存在自动增长的INT型主键:
    修改Serviceinfo.hbm.xml配置文件中的generator标签,由assigned变成 increment。
< id  name ="iid"  type ="integer" >
     
< column  name ="IID"  />
     
< generator  class ="increment"  />
</ id >

2.使用session步骤:
Session session = HibernateSessionFactory.getSession();
Transaction tx = session.beginTransaction();

//do    
        
tx.commit();
session.close();
    使用session时注意,不能在一个session没有关掉以前再开启另外的session,尽量以传参的形式解决;还有不能把session创建在while等循环语句中,不能保证session和事务的及时创建与关闭。

3.hql是hibernate定义的查询语句,它跟sql不同,主要体现在没有select;from后面跟的不是数据库的表名,而是由数据库映射而成的抽象类的名称;where后面的相等判断可以使用对象等非简单类型数据。
String hql = "from Parameterinfo where iid = " + IID + " and io = " + io;

4.常用session对象方法
session.delete(serviceinfo);//delete
session.update(serviceinfo);//update
session.saveOrUpdate(serviceinfo);//insert

5.表中存在有外键依赖的问题:
    如果表A的字段a依赖于表B中的主键b,则在把表映射成抽象类时,会把表A的字段a映射为一个表B的实例,但是当拿到表A的实例是,其中的关于表B的属性中只有主键b是有值得,其余都为NULL,只能再通过查询获得表B实例的全部信息。

你可能感兴趣的:(hibernate开发常用细节)