Lucene全文检索
全文检索是计算机程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置。当用户查询时根据建立的索引查找,类似于通过字典的检索字表查字的过程
* Session何时刷出缓存
1)事务提交时----tx.commit();
2)Query查询时---query.list();
3)手动调用session.flush();
* 操作缓存相关方法
1)flush:刷出缓存,使用缓存中的数据更新数据库中的数据
2)clear:清空session中的所有数据
3)evict:清除指定对象在一级缓存中的引用
4)refresh:使用数据库中的数据覆盖缓存中的数据
看完了Spring是什么,再来看看Spring有哪些优点
1.使用Spring的IOC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性,让我们更专注于应用逻辑
2.可以提供众多服务,事务管理,WS等。
3.AOP的很好支持,方便面向切面编程。
4.对主流的框架提供了很好的集成支持,如Hibernate,Struts2,JPA等
5.Spring DI机制降低了业务对象替换的复杂性。
6.Spring属于低侵入,代码污染极低。
7.Spring的高度可开放性,并不强制依赖于Spring,开发者可以自由选择Spring部分或完全。
连接分为三种:内连接、外连接、交叉。外连接分为左外连接和右外连接。
get/load:
当查询对象时,如果没有存在的记录
get方法返回null
load方法抛出异常:ObjectNotFoundException
get不支持延迟加载
* 解决丢失更新问题
1)悲观锁:使用数据库底层锁机制,锁定操作的数据,防止并发发生
2)乐观锁:在持久化类中添加版本字段,当事务提交时,比较提交的版本是否和数据库中的版本字段一致,如果不一致,抛出异常阻止修改 |