最佳实践 - 实体本身内部的Hibernate持久性代码?

Tra*_*ebb 4 gwt hibernate jpa requestfactory

在Google的RequestFactory教程中,他们建议将我的持久性逻辑(在我的例子中,Hibernate)放在Entity类中.然后他们提出了一个问题:"如果你不想在实体本身实现持久性代码怎么办?" 并继续解释另一种方法.

我的问题:哪个更好,将持久性逻辑放在Entity类中,或者将所有持久性逻辑保存在一个单独的类中?

任何信息表示赞赏,谢谢.

-tjw

Ken*_*han 9

将持久性代码放在实体本身是一种Active Record Pattern方法,同时将所有持久性逻辑保留在一个单独的类中是Repository Pattern方法.您可以使用该关键字repository pattern vs activerecord 搜索有关您的问题的更多信息.

例如,活动记录模式在没有数据库的情况下对其可测试性提出了批评,您可以参考此信息以获取更多信息.

对我来说,我更喜欢存储库模式,因为它是可测试的,我不喜欢持久性代码和domian业务逻辑混合在一个类中,这违反了对关注点分离的强调.