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

发布于 2024-12-13 20:22:38 字数 218 浏览 1 评论 0原文

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

我的问题:将持久性逻辑放在实体类中,还是将所有持久性逻辑保留在单独的类中,哪个更好?

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

-tjw

In Google's RequestFactory tutorials, they recommend putting my persistence logic (in my case, Hibernate) inside the Entity classes. Then they pose the question: "What if you don't want to implement persistence code in an entity itself?" and proceed to explain an alternate method.

My question: which is better, putting persistence logic inside the Entity class, or keeping all persistence logic in a separate class?

Any info is appreciated, thanks.

-tjw

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

绝對不後悔。 2024-12-20 20:22:38

将持久性代码放在实体本身中是一种活动记录模式方法,而将所有持久性逻辑保留在单独的类中是存储库模式方法。您可以使用关键字repository pattern vs activerecord来搜索有关您的问题的更多信息。

例如,活动记录模式因其在没有数据库的情况下的可测试性受到批评,您可以参考了解更多信息。

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

Putting the persistence code in an entity itself is an Active Record Pattern approach while keeping all persistence logic in a separate class is the Repository Pattern approach. You can use the keyword repository pattern vs activerecord to search more information about your questions.

For example ,active record pattern has a criticism about its testability without a database , you can refer to this for more info .

For me , I prefer the Repository Pattern more as it is testable and I don't like persistence codes and domian business logic are mixed in one class which violates the emphasis on separation of concerns.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文