我正在开发一个使用 hibernate 和 spring 的项目。 Hibernate封装在一个DAO层中,DAO层也有相应的服务层,还有为请求和JSP页面映射的 Controller 。我被告知不要在这些层( Controller <-> 服务 <-> DAO)之间传递对象,因为它是性能开销。一个特殊的例子是,当我需要更新域对象(ORM 类)中的 bool 值时,我编写了一个在服务层和 DAO 层之间传递域对象的方法,然后我被告知传递对象 ID 和特定的 bool 值仅值并为此在层中编写单独的方法。这是正确的吗?我觉得这样做会使使用 ORM 工具(Hibernate)的许多优势失效。我这样想有错吗?任何建议和见解将是有用的......
最佳答案
你是 100% 正确的。这是可怕的建议。传递对象。这正是 Hibernate 的设计目的,对象正常传递的“性能开销”简直是疯了。除非您不知道有关该应用程序的某些内容,否则请警惕告诉您这些信息的人的建议。
关于hibernate - 域模型对象在层之间传递开销吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7749240/