在我的软件中,我有5个主要层:
我应该在哪个层以及向谁分配从持久层获取域对象的职责?我决定在域层中创建一个新分区,但是控制器层这样做会使得如何创建域对象变得模棱两可。
我正在寻找一种优雅的解决方案来创建域对象,方法是将它们从持久状态中删除。
答案 0 :(得分:0)
如果您的持久层已准备就绪,可以使用一些工具从DB Schema创建类,
其中一个是NetBeans持久性插件。
现在,您可以将任何ORM工具用于域模型[从DB Schema创建的类]和实际DB。
答案 1 :(得分:0)
您应该从了解上下文/用例的图层中检索持久层中的对象。
换句话说:在您实现用例的层中,您应该调用可以从数据库中检索(或保存)对象的存储库(或其他持久层对象)。 恕我直言,这是唯一正确的事情。它是具有“上下文”知识的层(知道更大图景的层),它也了解交易的“生命周期”。该层也负责您的交易管理。