Skip to content

Latest commit

 

History

42 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages