Skip to content

Demo project for some AOP features implementation tackling issues in persistence layer.

Notifications You must be signed in to change notification settings

mynghn/persistence-aop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Persistence AOP

Demo project for some AOP features implementation tackling issues in persistence layer.

Some common concerns...

  1. For some database tables, revision history needs to be recorded. → Feature 1

    • Specific strategies may vary, but in this project...
    • Each table has its own history table.
    • History tables consists of full snapshot of original columns with some additional ones (e.g. sequence numbering of recorded histories by each original entity).
  2. Some columns are repeated across tables and have identical value assigning strategy. → Feature 2

    • e.g. first inserted time, last modified time, etc...
  3. Some records need to be fetched from database and remain cached for repetitive usage. → Feature 3

    • e.g. system level enum codes referenced across the whole application

Implemented features

  1. Record histories after database revision
  2. Inject common data(stamp) into method arguments before execution
  3. Provide temporary context around method execution

Technical requirements

  • Persistence Framework: MyBatis 3

TODOs

  • Write tests for ExecutionScopeContextProvider and CommonCodesCacheProviderAspect.
  • Update READMEs for each feature.

About

Demo project for some AOP features implementation tackling issues in persistence layer.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages