域模型对象是否在层之间传递开销?
问题内容:
我正在使用hibernate和spring的项目。Hibernate封装在DAO层中,DAO层也具有相应的服务层,还有为请求和JSP页面映射的控制器。有人告诉我不要在这些层(控制器<->服务<->
DAO)之间传递对象,因为这是性能开销。一个特定的实例是当我需要更新域对象(ORM类)中的布尔值时,我编写了一种在服务层和DAO层之间传递域对象的方法,并被告知要传递对象ID和特定的布尔值。仅值,并为此在各层中编写单独的方法。这是正确的吗?我觉得这样做会使使用ORM工具(hibernate)的许多优势失效。我认为这是错误的吗?任何建议和见解将是有用的。
问题答案:
您是100%正确的。那是可怕的建议。传递对象。这正是Hibernate的设计目的,而正常传递对象的“性能开销”简直太疯狂了。除非您不了解该应用程序的某些内容,否则请谨慎告诉那些告诉您的人的建议。