use of org.hibernate.impl.SessionFactoryImpl in project xwiki-platform by xwiki.
the class XWikiHibernateStore method injectInSessionFactory.
private SessionFactory injectInSessionFactory(Configuration config) throws XWikiException {
SessionFactoryImpl sfactory = (SessionFactoryImpl) config.buildSessionFactory();
Settings settings = sfactory.getSettings();
ConnectionProvider provider = ((SessionFactoryImpl) getSessionFactory()).getSettings().getConnectionProvider();
Field field = null;
try {
field = settings.getClass().getDeclaredField("connectionProvider");
field.setAccessible(true);
field.set(settings, provider);
} catch (Exception e) {
throw new XWikiException(XWikiException.MODULE_XWIKI_STORE, XWikiException.ERROR_XWIKI_STORE_HIBERNATE_MAPPING_INJECTION_FAILED, "Mapping injection failed", e);
}
return sfactory;
}
use of org.hibernate.impl.SessionFactoryImpl in project xwiki-platform by xwiki.
the class XWikiHibernateStore method injectCustomMappingsInSessionFactory.
private SessionFactory injectCustomMappingsInSessionFactory(XWikiDocument doc, XWikiContext context) throws XWikiException {
// If we haven't turned of dynamic custom mappings we should not inject them
if (!context.getWiki().hasDynamicCustomMappings()) {
return getSessionFactory();
}
boolean result = injectCustomMappings(doc, context);
if (!result) {
return getSessionFactory();
}
Configuration config = getConfiguration();
SessionFactoryImpl sfactory = (SessionFactoryImpl) config.buildSessionFactory();
Settings settings = sfactory.getSettings();
ConnectionProvider provider = ((SessionFactoryImpl) getSessionFactory()).getSettings().getConnectionProvider();
Field field = null;
try {
field = settings.getClass().getDeclaredField("connectionProvider");
field.setAccessible(true);
field.set(settings, provider);
} catch (Exception e) {
throw new XWikiException(XWikiException.MODULE_XWIKI_STORE, XWikiException.ERROR_XWIKI_STORE_HIBERNATE_MAPPING_INJECTION_FAILED, "Mapping injection failed", e);
}
return sfactory;
}
use of org.hibernate.impl.SessionFactoryImpl in project jbosstools-hibernate by jbosstools.
the class ServiceImpl method newHQLQueryPlan.
@Override
public IHQLQueryPlan newHQLQueryPlan(String query, boolean shallow, ISessionFactory sessionFactory) {
assert sessionFactory instanceof IFacade;
SessionFactoryImpl factory = (SessionFactoryImpl) ((IFacade) sessionFactory).getTarget();
Map<String, Filter> enabledFilters = Collections.emptyMap();
HQLQueryPlan queryPlan = new HQLQueryPlan(query, shallow, enabledFilters, factory);
return facadeFactory.createHQLQueryPlan(queryPlan);
}
use of org.hibernate.impl.SessionFactoryImpl in project jbosstools-hibernate by jbosstools.
the class ClassMetadataFacadeTest method createSampleEntityPersister.
private TestEntityPersister createSampleEntityPersister() {
Configuration configuration = new Configuration();
configuration.setProperty("hibernate.dialect", "org.hibernate.dialect.H2Dialect");
SessionFactoryImplementor sfi = new SessionFactoryImpl(configuration, null, configuration.buildSettings(), null, null);
RootClass rc = new RootClass();
Table t = new Table("foobar");
rc.setTable(t);
Column c = new Column("foo");
t.addColumn(c);
ArrayList<Column> keyList = new ArrayList<>();
keyList.add(c);
t.createUniqueKey(keyList);
SimpleValue sv = new SimpleValue(configuration.createMappings());
sv.setNullValue("null");
sv.setTypeName(Integer.class.getName());
sv.addColumn(c);
rc.setEntityName("foobar");
rc.setIdentifier(sv);
return new TestEntityPersister(rc, sfi);
}
use of org.hibernate.impl.SessionFactoryImpl in project jbosstools-hibernate by jbosstools.
the class FacadeFactoryTest method testCreateHQLQueryPlan.
@Test
public void testCreateHQLQueryPlan() {
Configuration configuration = new Configuration();
configuration.setProperty("hibernate.dialect", "org.hibernate.dialect.H2Dialect");
Mappings mappings = configuration.createMappings();
Table t = new Table("FOO");
Column c = new Column("foo");
t.addColumn(c);
PrimaryKey key = new PrimaryKey();
key.addColumn(c);
t.setPrimaryKey(key);
SimpleValue sv = new SimpleValue();
sv.setNullValue("null");
sv.setTypeName(Integer.class.getName());
sv.setTable(t);
sv.addColumn(c);
RootClass rc = new RootClass();
rc.setEntityName("foo");
rc.setIdentifier(sv);
rc.setTable(t);
mappings.addClass(rc);
SessionFactoryImplementor sfi = new SessionFactoryImpl(configuration, null, configuration.buildSettings(), null, null);
HQLQueryPlan hqlQueryPlan = new HQLQueryPlan("from foo", false, Collections.emptyMap(), sfi);
IHQLQueryPlan facade = facadeFactory.createHQLQueryPlan(hqlQueryPlan);
Assert.assertSame(hqlQueryPlan, ((IFacade) facade).getTarget());
}
Aggregations