使用ORM时的一些选择

双向关联?

建议一切关联的方向由业务模型决定,不要根据开发的复杂度来决定。
如权限模块里就应该用户单向关联角色(因为用户拥有角色,角色不需要知道有哪些用户),角色单向关联权限,权限单向关联资源。

级联保存/更新/删除?

坚决反对级联保存/更新/删除,只要是实体,就应该自己维护;如果对象没有明确对应的业务模型,应该将其设计为component

saveOrUpdate中是否可以维护对象间的关联关系?

我们是不是应该将saveOrUpdate方法的功能控制在维护实体的基本信息上,对象间的关联关系管理都放在其他业务方法上,saveOrUpdate方法中最好不要改变对象间的关联关系

NamedQuery

在具体的dao里,如果有jpql查询,最好将其定义为NamedQuery(超类dao无法定义NamedQuery)

你可能感兴趣的:(DAO,orm)