下面列出了org.hibernate.cfg.Configuration#setInterceptor ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private SessionFactory newSessionFactory() {
Properties properties = getProperties();
Configuration configuration = new Configuration().addProperties(properties);
for(Class<?> entityClass : entities()) {
configuration.addAnnotatedClass(entityClass);
}
String[] packages = packages();
if(packages != null) {
for(String scannedPackage : packages) {
configuration.addPackage(scannedPackage);
}
}
Interceptor interceptor = interceptor();
if(interceptor != null) {
configuration.setInterceptor(interceptor);
}
return configuration.buildSessionFactory(
new StandardServiceRegistryBuilder()
.applySettings(properties)
.build()
);
}
private SessionFactory newSessionFactory() {
Properties properties = properties();
Configuration configuration = new Configuration().addProperties(properties);
for (Class<?> entityClass : entities()) {
configuration.addAnnotatedClass(entityClass);
}
String[] packages = packages();
if (packages != null) {
for (String scannedPackage : packages) {
configuration.addPackage(scannedPackage);
}
}
String[] resources = resources();
if (resources != null) {
for (String resource : resources) {
configuration.addResource(resource);
}
}
Interceptor interceptor = interceptor();
if (interceptor != null) {
configuration.setInterceptor(interceptor);
}
configuration.setProperties(properties);
return configuration.buildSessionFactory(
new BootstrapServiceRegistryBuilder()
.build()
);
}
/**
* Create a SessionFactory, loading the hbm.xml files from the specified
* location.
* @param packageNames Package name to be searched.
*/
private void createSessionFactory() {
if (sessionFactory != null && !sessionFactory.isClosed()) {
return;
}
List<String> hbms = new LinkedList<String>();
for (Iterator<String> iter = packageNames.iterator(); iter.hasNext();) {
String pn = iter.next();
hbms.addAll(FinderFactory.getFinder(pn).find("hbm.xml"));
if (LOG.isDebugEnabled()) {
LOG.debug("Found: " + hbms);
}
}
try {
Configuration config = new Configuration();
/*
* Let's ask the RHN Config for all properties that begin with
* hibernate.*
*/
LOG.info("Adding hibernate properties to hibernate Configuration");
Properties hibProperties = Config.get().getNamespaceProperties(
"hibernate");
hibProperties.put("hibernate.connection.username",
Config.get()
.getString(ConfigDefaults.DB_USER));
hibProperties.put("hibernate.connection.password",
Config.get()
.getString(ConfigDefaults.DB_PASSWORD));
hibProperties.put("hibernate.connection.url",
ConfigDefaults.get().getJdbcConnectionString());
config.addProperties(hibProperties);
for (Iterator<String> i = hbms.iterator(); i.hasNext();) {
String hbmFile = i.next();
if (LOG.isDebugEnabled()) {
LOG.debug("Adding resource " + hbmFile);
}
config.addResource(hbmFile);
}
if (configurators != null) {
for (Iterator<Configurator> i = configurators.iterator(); i
.hasNext();) {
Configurator c = i.next();
c.addConfig(config);
}
}
//TODO: Fix auto-discovery (see commit: e92b062)
AnnotationRegistry.getAnnotationClasses().forEach(c -> {
config.addAnnotatedClass(c);
});
// add empty varchar warning interceptor
EmptyVarcharInterceptor interceptor = new EmptyVarcharInterceptor();
interceptor.setAutoConvert(true);
config.setInterceptor(interceptor);
sessionFactory = config.buildSessionFactory();
}
catch (HibernateException e) {
LOG.error("FATAL ERROR creating HibernateFactory", e);
}
}
private SessionFactory newLegacySessionFactory() {
Properties properties = properties();
Configuration configuration = new Configuration().addProperties(properties);
for (Class<?> entityClass : entities()) {
configuration.addAnnotatedClass(entityClass);
}
String[] packages = packages();
if (packages != null) {
for (String scannedPackage : packages) {
configuration.addPackage(scannedPackage);
}
}
String[] resources = resources();
if (resources != null) {
for (String resource : resources) {
configuration.addResource(resource);
}
}
Interceptor interceptor = interceptor();
if (interceptor != null) {
configuration.setInterceptor(interceptor);
}
final List<Type> additionalTypes = additionalTypes();
if (additionalTypes != null) {
configuration.registerTypeContributor((typeContributions, serviceRegistry) -> {
additionalTypes.stream().forEach(type -> {
if (type instanceof BasicType) {
typeContributions.contributeType((BasicType) type);
} else if (type instanceof UserType) {
typeContributions.contributeType((UserType) type);
} else if (type instanceof CompositeUserType) {
typeContributions.contributeType((CompositeUserType) type);
}
});
});
}
return configuration.buildSessionFactory(
new StandardServiceRegistryBuilder()
.applySettings(properties)
.build()
);
}
private SessionFactory newSessionFactory() {
Properties properties = properties();
Configuration configuration = new Configuration().addProperties(properties);
for (Class<?> entityClass : entities()) {
configuration.addAnnotatedClass(entityClass);
}
String[] packages = packages();
if (packages != null) {
for (String scannedPackage : packages) {
configuration.addPackage(scannedPackage);
}
}
String[] resources = resources();
if (resources != null) {
for (String resource : resources) {
configuration.addResource(resource);
}
}
Interceptor interceptor = interceptor();
if (interceptor != null) {
configuration.setInterceptor(interceptor);
}
final List<Type> additionalTypes = additionalTypes();
if (additionalTypes != null) {
configuration.registerTypeContributor(new TypeContributor() {
@Override
public void contribute(TypeContributions typeContributions, ServiceRegistry serviceRegistry) {
for (Type type : additionalTypes) {
if (type instanceof BasicType) {
typeContributions.contributeType((BasicType) type);
} else if (type instanceof UserType) {
typeContributions.contributeType((UserType) type, new String[]{type.getName()});
} else if (type instanceof CompositeUserType) {
typeContributions.contributeType((CompositeUserType) type, new String[]{type.getName()});
}
}
}
});
}
return configuration.buildSessionFactory(
new StandardServiceRegistryBuilder()
.applySettings(properties)
.build()
);
}
private SessionFactory newLegacySessionFactory() {
Properties properties = properties();
Configuration configuration = new Configuration().addProperties(properties);
for (Class<?> entityClass : entities()) {
configuration.addAnnotatedClass(entityClass);
}
String[] packages = packages();
if (packages != null) {
for (String scannedPackage : packages) {
configuration.addPackage(scannedPackage);
}
}
String[] resources = resources();
if (resources != null) {
for (String resource : resources) {
configuration.addResource(resource);
}
}
Interceptor interceptor = interceptor();
if (interceptor != null) {
configuration.setInterceptor(interceptor);
}
final List<Type> additionalTypes = additionalTypes();
if (additionalTypes != null) {
configuration.registerTypeContributor(new TypeContributor() {
@Override
public void contribute(TypeContributions typeContributions, ServiceRegistry serviceRegistry) {
for (Type type : additionalTypes) {
if (type instanceof BasicType) {
typeContributions.contributeType((BasicType) type);
} else if (type instanceof UserType) {
typeContributions.contributeType((UserType) type);
} else if (type instanceof CompositeUserType) {
typeContributions.contributeType((CompositeUserType) type);
}
}
}
});
}
return configuration.buildSessionFactory(
new StandardServiceRegistryBuilder()
.applySettings(properties)
.build()
);
}
public void configure(Configuration cfg) {
cfg.setInterceptor( new ProxyInterceptor() );
}
public void configure(Configuration cfg) {
super.configure( cfg );
cfg.setInterceptor( new EntityNameInterceptor() );
}
private SessionFactory newLegacySessionFactory() {
Properties properties = properties();
Configuration configuration = new Configuration().addProperties(properties);
for(Class<?> entityClass : entities()) {
configuration.addAnnotatedClass(entityClass);
}
String[] packages = packages();
if(packages != null) {
for(String scannedPackage : packages) {
configuration.addPackage(scannedPackage);
}
}
String[] resources = resources();
if (resources != null) {
for (String resource : resources) {
configuration.addResource(resource);
}
}
Interceptor interceptor = interceptor();
if(interceptor != null) {
configuration.setInterceptor(interceptor);
}
final List<Type> additionalTypes = additionalTypes();
if (additionalTypes != null) {
configuration.registerTypeContributor((typeContributions, serviceRegistry) -> {
additionalTypes.stream().forEach(type -> {
if(type instanceof BasicType) {
typeContributions.contributeType((BasicType) type);
} else if (type instanceof UserType ){
typeContributions.contributeType((UserType) type);
} else if (type instanceof CompositeUserType) {
typeContributions.contributeType((CompositeUserType) type);
}
});
});
}
return configuration.buildSessionFactory(
new StandardServiceRegistryBuilder()
.applySettings(properties)
.build()
);
}
/**
* Create a SessionFactory, loading the hbm.xml files from the specified
* location.
* @param packageNames Package name to be searched.
*/
private void createSessionFactory() {
if (sessionFactory != null && !sessionFactory.isClosed()) {
return;
}
List<String> hbms = new LinkedList<String>();
for (Iterator<String> iter = packageNames.iterator(); iter.hasNext();) {
String pn = iter.next();
hbms.addAll(FinderFactory.getFinder(pn).find("hbm.xml"));
if (LOG.isDebugEnabled()) {
LOG.debug("Found: " + hbms);
}
}
try {
Configuration config = new Configuration();
/*
* Let's ask the RHN Config for all properties that begin with
* hibernate.*
*/
LOG.info("Adding hibernate properties to hibernate Configuration");
Properties hibProperties = Config.get().getNamespaceProperties(
"hibernate");
hibProperties.put("hibernate.connection.username",
Config.get()
.getString(ConfigDefaults.DB_USER));
hibProperties.put("hibernate.connection.password",
Config.get()
.getString(ConfigDefaults.DB_PASSWORD));
hibProperties.put("hibernate.connection.url",
ConfigDefaults.get().getJdbcConnectionString());
config.addProperties(hibProperties);
// Force the use of our txn factory
if (config.getProperty(Environment.TRANSACTION_STRATEGY) != null) {
throw new IllegalArgumentException("The property " +
Environment.TRANSACTION_STRATEGY +
" can not be set in a configuration file;" +
" it is set to a fixed value by the code");
}
for (Iterator<String> i = hbms.iterator(); i.hasNext();) {
String hbmFile = i.next();
if (LOG.isDebugEnabled()) {
LOG.debug("Adding resource " + hbmFile);
}
config.addResource(hbmFile);
}
if (configurators != null) {
for (Iterator<Configurator> i = configurators.iterator(); i
.hasNext();) {
Configurator c = i.next();
c.addConfig(config);
}
}
// add empty varchar warning interceptor
EmptyVarcharInterceptor interceptor = new EmptyVarcharInterceptor();
interceptor.setAutoConvert(true);
config.setInterceptor(interceptor);
sessionFactory = config.buildSessionFactory();
}
catch (HibernateException e) {
LOG.error("FATAL ERROR creating HibernateFactory", e);
}
}