1. Entity里面的Annotation为什么都是加在getter上的?
2. 除了getters和setters以外,我们也增加了一个addCommentToArt(Comment comment)方法,这是便于双向关联的一个方法,因为一个重要的事情是要在关联的两端都设置引用。为什么不放在DAO里?另外书中还强烈建议:在关系的一端创建这种“管理关联”的方法。
3. 为什么在ArtEntity里使用Hashset来保存comments?
4. Convention over Configuration。
5. @Temporal。解释:http://hi.baidu.com/huangjiuyx/item/8b2fccdedb5431ee3cc2cb79
6. Entity的property与表结构的列名有默认的对应规则,不要轻易显式设置其他对应关系。less code eqauls less maintenance。
7. Hibernate annotation support does require that you define a primary key and all of your JavaBean's associations.
8. Transitive persistence.
9. Hibernate与多种caching framework集成,并提供了CachManager接口以供用户实现自己的缓存方案。
10. Hibernate Polymorphism。这段有点难。Hibernate提供4种选择来实现多态:
- 隐式多态:效率低。
- 每个层次一张表:不同子类的数据都在一张表里,这样就避免了数据表连接操作。只要各个子类的属性差异不大,就可以使用这种。
- 每个子类一张表:
- 每个具体类一张表:
DAO模式希望把底层的持久化功能抽象出来,但是DAO一般会提供的功能不限于CRUD。Service层封装业务逻辑,依赖于DAO层来完成又苦又累的持久化工作。