Class HibernatePlugin
- java.lang.Object
-
- org.hotswap.agent.plugin.hibernate.HibernatePlugin
-
@Plugin(name="Hibernate", group="groupHibernate", fallback=true, description="Reload Hibernate configuration after entity create/change.", testedVersions="All between 4.0.1 - 4.3.11, 5.0.0 - 5.2.10", expectedVersions={"4.0.x","4.1.x","4.2.x","5.0.[0-4,7-x]","5.1.x","5.2.x","5.3.x","5.4.x"}, supportClass=HibernateTransformers.class) @Versions(maven={@Maven(value="[4.0,6.0)",artifactId="hibernate-core",groupId="org.hibernate"),@Maven(value="[4.0,6.0)",artifactId="hibernate-entitymanager",groupId="org.hibernate")},manifest={@Manifest(value="[4.0,6.0)",names=),@Manifest(value="[4.0,6.0)",names=),@Manifest(value="[4.0,6.0)",names=),@Manifest(value="[4.0,6.0)",names={,})}) public class HibernatePlugin extends java.lang.ObjectReload Hibernate configuration after entity create/change.- Author:
- Jiri Bubnik
-
-
Constructor Summary
Constructors Constructor Description HibernatePlugin()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidentityReload(org.hotswap.agent.javassist.CtClass clazz, java.lang.Class original)Reload after entity class change.voidinit(java.lang.String version, java.lang.Boolean hibernateEjb)Plugin initialization properties (from HibernatePersistenceHelper or SessionFactoryProxy)voidinvalidateClassCache()voidnewEntity(org.hotswap.agent.javassist.CtClass clazz)New entity class - not covered by reloading mechanism.voidregisterAnnotationMetaDataProvider(java.lang.Object annotatedMetaDataProvider)voidregisterBeanMetaDataManager(java.lang.Object beanMetaDataManager)
-
-
-
Method Detail
-
init
public void init(java.lang.String version, java.lang.Boolean hibernateEjb)Plugin initialization properties (from HibernatePersistenceHelper or SessionFactoryProxy)
-
entityReload
@OnClassLoadEvent(classNameRegexp=".*", events=REDEFINE) public void entityReload(org.hotswap.agent.javassist.CtClass clazz, java.lang.Class original)Reload after entity class change. It covers also @Entity annotation removal.
-
newEntity
@OnClassFileEvent(classNameRegexp=".*", events=CREATE) public void newEntity(org.hotswap.agent.javassist.CtClass clazz) throws java.lang.ExceptionNew entity class - not covered by reloading mechanism. Increase the reload timeout to avoid duplicate reloading in case of recompile with IDE and delete/create event sequence - than create is cached by this event and hotswap for the same class by entityReload.- Throws:
java.lang.Exception
-
invalidateClassCache
@OnClassLoadEvent(classNameRegexp=".*", events=REDEFINE) public void invalidateClassCache() throws java.lang.Exception- Throws:
java.lang.Exception
-
registerAnnotationMetaDataProvider
public void registerAnnotationMetaDataProvider(java.lang.Object annotatedMetaDataProvider)
-
registerBeanMetaDataManager
public void registerBeanMetaDataManager(java.lang.Object beanMetaDataManager)
-
-