Hibernate综合

定义:是JDBC

Hibernate

(1.在数据库中是否有对应的数据

(2.是否与

在数据库中对应的数据,与连接操作。

在数据库中对应的数据,与连接操作。

在数据库中对应的数据,与连接操作。

三种状态之间的互相转换:

Session

都是从数据库中查询数据(只能根据

查询。如果没有要查找的数据,那么。

Load()查询。如果没有要查找的数据,。

SessionFactory

SessionFactory

(1.重量级组件

(2.一个项目中,如果只用了一个数据库,那么尽量只能出现一次。

(3.线程安全的

(1.轻量级组件

(2.一个项目中可以出现多次

(3.线程非安全的

update

    如果对象已经在本session中持久化了,不做任何事

  如果另一个与本session关联的对象拥有相同的持久化标识(identifier),抛出一个异常

  如果对象没有持久化标识(identifier)属性,对其调用save()

  如果对象的持久标识(identifier)表明其是一个新实例化的对象,对其调用save()

  如果对象是附带版本信息的(通过<version>或<timestamp>) 并且版本属性的值表明其是一个新实例化的对象,save()它。

  否则update() 这个对象

关联关系:





多2

Lazy

3.0为(

只有在

* <class>

* <property>

* <set>/<list>

* <one-to-one>/<many-to-one>

 :

* //

       System.out.println("group id=" + group.getId());

这里有一个问题,为什么加载主键的时候不需要发出

 集合

   * 

 * 

   * 

,它的意思是只有在调用这个集合获取里面的元素对象时,才发出查询语句,加载其集合元素的数据

false:

extra:

并不会去加载整个集合的数据,而是发出一条聪明的

懒加载策略。可以取值为:

false:

proxy:

no-proxy:

注意:在

Cascade:

定义的是关系两端对象到。

它有以下五个值可以选择:

所有情况下均进行关联操作。

所有情况下均不进行关联操作。这是。 

在执行save/update/saveOrUpdate时进行关联操作。() 

在执行delete时进行关联操作。 

Category与Item是一对多的关系,也就是说Category类中有个Set类型的变量items. 

将变成孤儿节点

java

Inverse:

定义的是关系和对象的级联关系。

在一对多中

例如:

最好是让员工来维护关系

如果让部门来维护关系,让部门去找每一个员工,要难的多。

所以在中最好让方为(

在中任意一方为都可以。

但是不能两方都为

有助于性能的改善。

本地查询:


命名查询:

然后在java

createQuery

from实体类名而不是数据库表名

           条件也不是列名而是实体类中属性名


setParameter()

String sql=”from Student where name:name”;

createCriteria

.lt("age", "30"));//






Restrictions.between--->
Restrictions.like--->
Restrictions.in--->

来源:http://www.verydemo.com/demo_c146_i27743.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值