开发者

Where should I be creating the entity objects?

开发者 https://www.devze.com 2022-12-08 20:51 出处:网络
I have an entity class and an entity DAO class. Should it be the responsibility of the DAO class to create instances of t开发者_JS百科he entity class, or should there be an entity creator/manager cl

I have an entity class and an entity DAO class.

Should it be the responsibility of the DAO class to create instances of t开发者_JS百科he entity class, or should there be an entity creator/manager class that uses the DAO class only to get the data from the database to create the entity class.

Thanks,

Chris


It should be the responsibility of the DAO to load a persistent object from the datastore and returning a transient instance. Why add another layer of abstraction here?

For creating new Entities, a Factory (or Assembler) might be involved. However, usually this is only justified when entity creation is complex enough. A simple constructor fits the bill just fine in most cases.


I usually let the DAO know about the entity assembly and return a fully hydrated entity. Why? Because, usually the DAO only exists to support that entity. If its role is isn't bound to supporting that entity or related entities, then you may want to look at an intermediate layer.


I'm assuming you're talking about a persistent entity and something that manages that persistence. In my opinion, there is no value in using a factory to simply create the POJO. Use conventional means and then use a DAO, an EntityManager, whatever, to deal with the persistence. I think the key point is not to let the persistence strategy/implementation bleed past your business API.

0

精彩评论

暂无评论...
验证码 换一张
取 消