Business Entity Background

A central framework concept is the Business Entity that allows for persistent data in the database to be interacted with as objects. In general there is at least one Business Entity class corresponding to each table in the system. Likewise an instance of one of these classes corresponds to a row in the database. Here are some things to remember about Business Entities:

  • When you create a new instance of a Business Entity and the current transaction commits, a new row is committed to the database. Likewise when instances are deleted or changed, corresponding deletes or updates are performed on the database. There is no concept of a transient entity in our architecture; application logic is dealing with only persistent objects.
  • When the actual insert, update and delete statements are issued to the database is controlled by the framework and may be deferred for performance reasons. The framework is, however, expected to issue DML with sufficient timeliness to maintain data consistency so that application code need not concern itself with when statements are actually executed.
  • When you use the query language (HQL) the returned objects are Business Entities (or scalars in the case of "count" or other aggregate functions). These objects may be modified by application code and those changes will be persisted to the database.
  • The way you change the properties on entities is via the Data Transfer Objects corresponding to the entity.