As I was working on TRUNK-5494, I ran into an issue where an Obs can’t get loaded. Obs is a subclass of BaseOpenmrsData which is a mapped superclass that already has dateChanged and changedBy properties mapped but the obs table doesn’t have changed_by and date_changed columns since observations are ‘immutable’.
I haven’t yet figured out how to get around this but I can’t help to think that probably we should never have mapped BaseOpenmrsObject , BaseOpenmrsData and pretty much any abstract class in the first place. Persistent subclasses should be able to exist without the superclasses being mapped.
Does anyone object removing these annotations from the base classes in core? I can create a ticket and do the work.