Component to be refactored
ID Fields.
Purpose of refactoring
While I'm generally not a fan of exposing database identifiers, that ship has likely already sailed on this project. That said we are expecting to make DbKey and interface and allow for other implementations, such as UUID. Keeping it as a Long prevents that at the moment.
Proposed method
- Change all ID parameters and fields to use DbKey
- Retrieve/register appropriate adapter from the given database implementation.
Additional context
we may introduce a DatabaseKey interface that DbKey would implement to make the transition easier.