| Steve Ebersole I agree with your plan to remove Javassist. I was just outlining the risks involved in the process. My comment on expanding EnhancementContext was more of a reply to the observation the some of the decisions may be moved to the Enhancer implementation ... I rather see the other way around and keep decisions in the Enhancer to a minimum. The bidirectional association detection is an example of something that could be moved out of the Enhancer. Other than that, if we are going to make some changes, I think of Field[] getPersistentFields( Class c ) instead of Field[] order( Field[] fa). boolean hasLazyLoadedAttributes( Class c ) could be removed. Support for immutable fields (
HHH-10370 Open ) boolean isImmutable( Field f ) should also be added. Another thing is boolean isId( Field f ) ... in essence, there are still some places inside the Enhancer that look for annotations, and all those should be replaced by calls to the context. All of these are not necessarily 'required' for this work, and we can always do it later or not at all. |