I'm just playing with Hibernate 5.1.1 as it might have solved our bytecode issues. One thing I immediately realize is that instrumented classes do not implement ManagedEntity or ManagedComposite anymore (which used to be the case in Hibernate 5.1.0).
Example: {code:java} @Entity @Polymorphism(type = PolymorphismType.EXPLICIT) @Inheritance(strategy = InheritanceType.JOINED) (...) public abstract class Base<BO extends BOBase<?>> extends DatabaseEntity<BO> implements IBase { (...) @Transient private transient EntityEntry $$_hibernate_entityEntryHolder; @Transient private transient ManagedEntity $$_hibernate_previousManagedEntity; @Transient private transient ManagedEntity $$_hibernate_nextManagedEntity; @Transient private transient PersistentAttributeInterceptor $$_hibernate_attributeInterceptor; @Transient private transient DirtyTracker $$_hibernate_tracker; @Transient private transient CollectionTracker $$_hibernate_collectionTracker; (...) {code}
As I'm encountering null pointer issues during a session commit in Hibernate Search when bytecode enhancement is performed (no issues when bytecode is not instrumented) and extracting this to a test case is quite tricky, may I ask how serious the absence of the marker interfaces are? Maybe this already gives enough input for you to investigate the situation. |
|