HHH-5916 Expose persister class provider via Ejb3Configuration
This commit is contained in:
parent
d5d492744f
commit
876d613974
|
@ -246,6 +246,11 @@ public class AvailableSettings {
|
||||||
*/
|
*/
|
||||||
public static final String NAMING_STRATEGY = "hibernate.ejb.naming_strategy";
|
public static final String NAMING_STRATEGY = "hibernate.ejb.naming_strategy";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* PersisterClassProvider class name, the class has to gave a no-arg constructor
|
||||||
|
*/
|
||||||
|
public static final String PERSISTER_CLASS_PROVIDER = "hibernate.ejb.persister_class_provider";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Event configuration should follow the following pattern
|
* Event configuration should follow the following pattern
|
||||||
* hibernate.ejb.event.[eventType] f.q.c.n.EventListener1, f.q.c.n.EventListener12 ...
|
* hibernate.ejb.event.[eventType] f.q.c.n.EventListener1, f.q.c.n.EventListener12 ...
|
||||||
|
|
|
@ -90,6 +90,7 @@ import org.hibernate.engine.FilterDefinition;
|
||||||
import org.hibernate.event.EventListeners;
|
import org.hibernate.event.EventListeners;
|
||||||
import org.hibernate.mapping.AuxiliaryDatabaseObject;
|
import org.hibernate.mapping.AuxiliaryDatabaseObject;
|
||||||
import org.hibernate.mapping.PersistentClass;
|
import org.hibernate.mapping.PersistentClass;
|
||||||
|
import org.hibernate.persister.PersisterClassProvider;
|
||||||
import org.hibernate.proxy.EntityNotFoundDelegate;
|
import org.hibernate.proxy.EntityNotFoundDelegate;
|
||||||
import org.hibernate.secure.JACCConfiguration;
|
import org.hibernate.secure.JACCConfiguration;
|
||||||
import org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator;
|
import org.hibernate.service.jdbc.connections.internal.ConnectionProviderInitiator;
|
||||||
|
@ -1048,6 +1049,17 @@ public class Ejb3Configuration implements Serializable, Referenceable {
|
||||||
cfg.setNamingStrategy( namingStrategy );
|
cfg.setNamingStrategy( namingStrategy );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final PersisterClassProvider persisterClassProvider = instantiateCustomClassFromConfiguration(
|
||||||
|
preparedProperties,
|
||||||
|
null,
|
||||||
|
cfg.getPersisterClassProvider(),
|
||||||
|
AvailableSettings.PERSISTER_CLASS_PROVIDER,
|
||||||
|
"persister class provider",
|
||||||
|
PersisterClassProvider.class
|
||||||
|
);
|
||||||
|
if ( persisterClassProvider != null ) {
|
||||||
|
cfg.setPersisterClassProvider( persisterClassProvider );
|
||||||
|
}
|
||||||
|
|
||||||
if ( jaccKeys.size() > 0 ) {
|
if ( jaccKeys.size() > 0 ) {
|
||||||
addSecurity( jaccKeys, preparedProperties, workingVars );
|
addSecurity( jaccKeys, preparedProperties, workingVars );
|
||||||
|
@ -1569,6 +1581,11 @@ public class Ejb3Configuration implements Serializable, Referenceable {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Ejb3Configuration setPersisterClassProvider(PersisterClassProvider persisterClassProvider) {
|
||||||
|
cfg.setPersisterClassProvider( persisterClassProvider );
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
public void setListeners(String type, String[] listenerClasses) {
|
public void setListeners(String type, String[] listenerClasses) {
|
||||||
cfg.setListeners( type, listenerClasses );
|
cfg.setListeners( type, listenerClasses );
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue