| support-tony wrote: |
John,
Just to be clear, are you saying that you have 5 configuration files? hbm files are mapping files, which don't specify database connection parameters.
|
Sorry, I meant that I have 5 hibernate.cfg.xml files. They all contain a reference to a datasource and some of the database tables in the database that the datasource points to.
Example:
hibernate.cfg.xml <- default cfg file. contains datasource1 that points to db1.
hibernateFile2.cfg.xml <- cfg file. contains datasource2 that points to db2.
hibernateFile3.cfg.xml <- default cfg file. contains datasource3 that points to db3.
hibernateFile4.cfg.xml <- default cfg file. contains datasource4 that points to db4.
hibernateFile5.cfg.xml <- default cfg file. contains datasource5 that points to db5.
Each cfg file has its own session object that is created and destroyed as needed in the hibernate app.
Example:
HibernateUtil.java:
SessionFactory sessionFactory;
ThreadLocal session = new ThreadLocal();
SessionFactory sessionFactory2;
ThreadLocal session2 = new ThreadLocal();
SessionFactory sessionFactory3;
ThreadLocal session3 = new ThreadLocal();
SessionFactory sessionFactory4;
ThreadLocal session4 = new ThreadLocal();
SessionFactory sessionFactory5;
ThreadLocal session5 = new ThreadLocal();
sessionFactory = new Configuration().configure().buildSessionFactory();
sessionFactory2 = new Configuration().configure("hibernateFile2.cfg.xml").buildSessionFactory();
sessionFactory3 = new Configuration().configure("hibernateFile3.cfg.xml").buildSessionFactory();
sessionFactory4 = new Configuration().configure("hibernateFile4.cfg.xml").buildSessionFactory();
sessionFactory5 = new Configuration().configure("hibernateFile5.cfg.xml").buildSessionFactory();
createSession()
closeSession()
....
....
...
...
| support-tony wrote: |
How are you trying to ensure that the session used for your criteria is built using the configuration file you want?
|
I haven't gotten far enough in the criteria editor to worry about building a session. It get an error message as soon as I open the criteria editor. I was wondering if there
is a config file for the editor that will allow me to tell the criteria editor which hibernate.cfg.xml file to use?
| support-tony wrote: |
Can you provide your hibernate configuration file, or just the session-factory element contents, which defines the datasource?
|
hibernate.cfg.xml file:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!-- Generated by MyEclipse Hibernate Tools. -->
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.datasource">MyDatasource</property>
<property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>
<property name="show_sql">true</property>
<mapping resource="hibernate/config/FirstDBTableConfigFile.hbm.xml" />
<mapping resource="hibernate/config/SecondDBTableConfigFile.hbm.xml" />
<mapping resource="hibernate/config/ThirdDBTableConfigFile.hbm.xml" />
<mapping resource="hibernate/config/FourthDBTableConfigFile.hbm.xml" />
</session-factory>
</hibernate-configuration>
| support-tony wrote: |
Could you provide your installation details (MyEclipse->Installation Summary->Installation Details), and mention the operation system and version, as well as the version of Hibernate that you're using? |
*** Date:
Thursday, November 17, 2011 10:44:03 AM CST
** System properties:
OS=WindowsXP
OS version=5.1.0
Java version=1.6.0_13
*** MyEclipse details:
MyEclipse Enterprise Workbench
Version: 9.1
Build id: 9.1-20110701
*** Eclipse details:
MyEclipse Enterprise Workbench
Version: 9.1
Build id: 9.1-20110701
Eclipse startup command=-os
win32
-ws
win32
-arch
x86
-showsplash
-launcher
C:\app\MyEclipse\MyEclipse 9\myeclipse.exe
-name
Myeclipse
--launcher.library
C:\app\MyEclipse\MyEclipse 9\../Common/plugins/org.eclipse.equinox.launcher.i18n.win32.win32.x86_3.2.0.v201103301700\eclipse_3215.dll
-startup
C:\app\MyEclipse\MyEclipse 9\../Common/plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
-install
C:\app\MyEclipse\MyEclipse 9
-configuration
C:\app\MyEclipse\MyEclipse 9\configuration
-vm
C:\app\MyEclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\bin\client\jvm.dll
Stacktrace generated when Criteria Editor open:
!ENTRY org.hibernate.eclipse.console 4 4 2011-11-17 10:56:58.997 !MESSAGE Could not find datasource !SUBENTRY 1 org.hibernate.eclipse.console 4 150 2011-11-17 10:56:58.997
!MESSAGE org.hibernate.HibernateException: Could not find datasource
!STACK 0
org.hibernate.HibernateException: Could not find datasource at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:56) at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124) at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56) at org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:414) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:62) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292) at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:915) at org.hibernate.console.ConsoleConfiguration$3.execute(ConsoleConfiguration.java:395) at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:64) at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:95) at org.hibernate.console.ConsoleConfiguration.buildSessionFactory(ConsoleConfiguration.java:390) at com.genuitec.eclipse.hibernate.wizards.MEConsoleConfiguration.buildSessionFactory(MEConsoleConfiguration.java:225) at com.genuitec.eclipse.hibernate.action.MERefreshCCAction.buildSessionFactory(MERefreshCCAction.java:121) at com.genuitec.eclipse.hibernate.action.MERefreshCCAction$1.run(MERefreshCCAction.java:103) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645) at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288) at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325) at javax.naming.InitialContext.lookup(InitialContext.java:392) at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52) ... 15 more
!SUBENTRY 2 org.hibernate.eclipse.console 4 150 2011-11-17 10:56:59.029 !MESSAGE org.hibernate.HibernateException: Could not find datasource
!STACK 0 org.hibernate.HibernateException: Could not find datasource at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:56) at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124) at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56) at org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:414) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:62) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292) at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:915) at org.hibernate.console.ConsoleConfiguration$3.execute(ConsoleConfiguration.java:395) at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:64) at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:95) at org.hibernate.console.ConsoleConfiguration.buildSessionFactory(ConsoleConfiguration.java:390) at com.genuitec.eclipse.hibernate.wizards.MEConsoleConfiguration.buildSessionFactory(MEConsoleConfiguration.java:225) at com.genuitec.eclipse.hibernate.action.MERefreshCCAction.buildSessionFactory(MERefreshCCAction.java:121) at com.genuitec.eclipse.hibernate.action.MERefreshCCAction$1.run(MERefreshCCAction.java:103) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645) at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288) at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325) at javax.naming.InitialContext.lookup(InitialContext.java:392) at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52) ... 15 more
!SUBENTRY 2 org.hibernate.eclipse.console 4 150 2011-11-17 10:56:59.029
!MESSAGE javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
!STACK 0
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645) at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288) at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325) at javax.naming.InitialContext.lookup(InitialContext.java:392) at org.hibernate.connection.DatasourceConnectionProvider.configure(DatasourceConnectionProvider.java:52) at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:124) at org.hibernate.connection.ConnectionProviderFactory.newConnectionProvider(ConnectionProviderFactory.java:56) at org.hibernate.cfg.SettingsFactory.createConnectionProvider(SettingsFactory.java:414) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:62) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1292) at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:915) at org.hibernate.console.ConsoleConfiguration$3.execute(ConsoleConfiguration.java:395) at org.hibernate.console.execution.DefaultExecutionContext.execute(DefaultExecutionContext.java:64) at org.hibernate.console.ConsoleConfiguration.execute(ConsoleConfiguration.java:95) at org.hibernate.console.ConsoleConfiguration.buildSessionFactory(ConsoleConfiguration.java:390) at com.genuitec.eclipse.hibernate.wizards.MEConsoleConfiguration.buildSessionFactory(MEConsoleConfiguration.java:225) at com.genuitec.eclipse.hibernate.action.MERefreshCCAction.buildSessionFactory(MERefreshCCAction.java:121) at com.genuitec.eclipse.hibernate.action.MERefreshCCAction$1.run(MERefreshCCAction.java:103) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
!ENTRY org.hibernate.eclipse.console 1 0 2011-11-17 10:56:59.029
!MESSAGE Could not refresh Hibernate project context com.genuitec.eclipse.hibernate.action.MERefreshCCAction$InProgressException