DataManager and EntityManager

Hi
I would appreciate if someone explains when to use a DataManager and when to use EntityManager. which one is recommended for large applications especially at middle tier?

2 Likes

Hi Mortoza,
This is an important topic, and we will cover it in the documentation.
In short:
DataManager

  • DataManager is available on both middle and client tiers.
  • DataManager is a singleton bean.
  • DataManager defines a few high-level methods for working with detached entities: load(), loadList(), reload(), commit().
  • DataManager starts new transactions internally.
  • DataManager applies all security constraints when invoked on the client tier.
    EntityManager
  • EntityManager is available only on the middle tier.
  • You should obtain a reference to EntityManager through the Persistence interface.
  • EntityManager mostly resembles the standard javax.persistence.EntityManager.
  • You have to open a transaction before working with EntityManager.
  • EntityManager does not impose security constraints.

I would recommend using DataManager when you don’t need to control transactions or work with managed entities. DataManager is simpler - it always starts and commits transactions inside and returns detached entities.

Thank you very much.

How does DataManager works when I need record/entity locks in transaction?