今天我重点复习了Hibernate+spring+struts,提取内容如下:
Hibernate:
1.Hibernate有哪几种查询数据的方式
hql查询,sql查询,条件查询
2.Hibernate中的update()和saveOrUpdate()的区别
saveOrUpdate()做下面的事:
如果对象已经在本session中持久化了,不做任何事
如果另一个与本session关联的对象拥有相同的持久化标识,抛出一个异常。
如果对象没有持久化标识属性,对其调用save()
如果对象的持久标识表明其是一个新实例化的对象,对其调用save()
3.Hibernate工作原理及为什么要用?
原理:
1.读取并解析配置文件
2.读取并解析映射信息,创建SessionFactory
3.打开Session
4.创建事务Transation
5.持久化操作
6.提交事务
7.关闭Session
8.关闭SessionFactory
4.如何优化Hibernate?
1.使用双向一对多关联,不使用单向一对多
2.灵活使用单向一对多关联
3.不用一对一,用多对一取代
4.配置对象缓存,不使用集合缓存
5.一对多集合使用Bag,多对多集合使用Set
6.继承类使用显式多态
7.表字段要少,表关联不要怕多,有二级缓存撑腰
spring:
1.spring的事务有几种方式?
声明事务和编程事务
2.spring对多种ORM框架提供了很好的支持,简单描述在spring中使用Hibernate的方法,并结合事务管理。
getHibernateTemplate里面提供了save,update,delete,find等方法
简单说一个:如果配置了声明式事务,当执行getHibernateTemplate的各种方法的时候,事务会自动被加载,如果没有配置事务,那么以上操作不会真正的被同步到数据库,除非配置了Hibernate的autocommit=true
今天雷老师开会说,很好的机会来了,真的来了吗?呵呵。公司是长沙的,公司非常不错,创发天辰,主要业务是电信方面的,招20人,实习期补偿1500元,转正3000,至少包中饭,背景是长沙数一数二的软件公司,面试时间尽量安排在明天之后,他想让刘敏和周丽群也参加(她们回校毕业答辩去了,呵呵),HR是朱经理。
明天去长沙中软国际应聘开发实施工程师,早上7:30在早晨坐公交车的那里集合。