双向关联?
建议一切关联的方向由业务模型决定,不要根据开发的复杂度来决定。
如权限模块里就应该用户单向关联角色(因为用户拥有角色,角色不需要知道有哪些用户),角色单向关联权限,权限单向关联资源。
级联保存/更新/删除?
坚决反对级联保存/更新/删除,只要是实体,就应该自己维护;如果对象没有明确对应的业务模型,应该将其设计为component
saveOrUpdate中是否可以维护对象间的关联关系?
我们是不是应该将saveOrUpdate方法的功能控制在维护实体的基本信息上,对象间的关联关系管理都放在其他业务方法上,saveOrUpdate方法中最好不要改变对象间的关联关系
NamedQuery
在具体的dao里,如果有jpql查询,最好将其定义为NamedQuery(超类dao无法定义NamedQuery)