下面列出了怎么用org.hibernate.resource.beans.spi.ManagedBeanRegistry的API类实例代码及写法,或者点击链接到github查看源代码。
EventListenerRegistryImpl(BootstrapContext bootstrapContext, SessionFactoryImplementor sessionFactory) {
this.sessionFactory = sessionFactory;
this.callbackRegistry = new CallbackRegistryImpl();
this.callbackBuilder = new CallbackBuilderLegacyImpl(
bootstrapContext.getServiceRegistry().getService( ManagedBeanRegistry.class ),
bootstrapContext.getReflectionManager()
);
this.registeredEventListeners = buildListenerGroups();
}
@Override
public void prepare(MetadataImplementor metadata) {
if ( callbackBuilder == null ) {
// TODO : not needed anymore when the deprecate constructor will be removed
this.callbackBuilder = new CallbackBuilderLegacyImpl(
sessionFactory.getServiceRegistry().getService( ManagedBeanRegistry.class ),
metadata.getMetadataBuildingOptions().getReflectionManager()
);
}
for ( PersistentClass persistentClass : metadata.getEntityBindings() ) {
if ( persistentClass.getClassName() == null ) {
// we can have non java class persisted by hibernate
continue;
}
callbackBuilder.buildCallbacksForEntity( persistentClass.getClassName(), callbackRegistry );
for ( Iterator propertyIterator = persistentClass.getDeclaredPropertyIterator();
propertyIterator.hasNext(); ) {
Property property = (Property) propertyIterator.next();
if ( property.getType().isComponentType() ) {
callbackBuilder.buildCallbacksForEmbeddable(
property,
persistentClass.getClassName(),
callbackRegistry
);
}
}
}
}
private ManagedBeanRegistry getManagedBeanRegistry() {
SessionFactory sessionFactory = entityManagerFactory.unwrap(SessionFactory.class);
ServiceRegistry serviceRegistry = sessionFactory.getSessionFactoryOptions().getServiceRegistry();
return serviceRegistry.requireService(ManagedBeanRegistry.class);
}
private ManagedBeanRegistry getManagedBeanRegistry() {
SessionFactory sessionFactory = entityManagerFactory.unwrap( SessionFactory.class );
ServiceRegistry serviceRegistry = sessionFactory.getSessionFactoryOptions().getServiceRegistry();
return serviceRegistry.requireService( ManagedBeanRegistry.class );
}
@LogMessage( level = INFO )
@Message(
id = 10005003,
value = "Stopping ManagedBeanRegistry : %s"
)
void stoppingManagedBeanRegistry(ManagedBeanRegistry registry);
public CallbackBuilderLegacyImpl(ManagedBeanRegistry managedBeanRegistry, ReflectionManager reflectionManager) {
this.managedBeanRegistry = managedBeanRegistry;
this.reflectionManager = reflectionManager;
}
ManagedBeanRegistry getManagedBeanRegistry();