[jboss-user] [JBoss Portal Users] - hibernate database connection

Fuchs do-not-reply at jboss.com
Thu Nov 5 14:05:51 EST 2009


hello, 

iam using jboss portal 2.7.2 bundle.
i like to use my own mysql database with hibernate functionality which is called from some portlets.

But i get this error:
19:48:07,463 ERROR [*Home] Could not locate SessionFactory in JNDI
javax.naming.NameNotFoundException: SessionFactory not bound

i made a java utility project:
MyProject
-package.tables (*.Home.class/*.class/*.hbm.xml)
-META-INF (hibernate-service.xml)
-hibernate.cfg.xml

hibernate.cfg.xml:
<hibernate-configuration>
  |     <session-factory>
  |         <property name="hibernate.bytecode.use_reflection_optimizer">false</property>
  |         <property name="hibernate.connection.datasource">java:jdbc/CustomerDB</property>
  |         <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
  | 	<property name="current_session_context_class">thread</property>
  | 	<property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
  |        
  |         <mapping resource="package/tables/*Home.hbm.xml" />
  |         <mapping resource="package/tables/*.hbm.xml" />
  | 
  |     </session-factory>
  | </hibernate-configuration>


hibernate-ds.xml
<datasources>
  |   <local-tx-datasource>
  | 	  <jndi-name>jdbc/CustomerDB</jndi-name>
  | 	  <connection-url>jdbc:mysql://mysqlserver/mydataschema</connection-url>
  | 	  <driver-class>com.mysql.jdbc.Driver</driver-class>
  | 	  <user-name>****</user-name>
  | 	  <password>****</password>
  | 	  <min-pool-size>5</min-pool-size>
  | 	  <max-pool-size>20</max-pool-size>
  |   </local-tx-datasource>
  | </datasources>

hibernate-service.xml
<server>
  | 	<mbean code="org.jboss.portal.jems.hibernate.SessionFactoryBinder" name="jboss.har:service=Hibernate">
  | 		<attribute name="DatasourceName">java:/CustomerDB</attribute>
  | 		<attribute name="Dialect">org.hibernate.dialect.MySQLDialect</attribute>
  | 		<attribute name="SessionFactoryName">java:/hibernate/SessionFactory</attribute>
  | 		<attribute name="CacheProviderClass">org.hibernate.cache.NoCacheProvider</attribute>
  | 	</mbean>
  | </server>

The code which looks up for the jndi:

  | 	private final SessionFactory sessionFactory = getSessionFactory();
  | 
  | 	protected SessionFactory getSessionFactory() {
  | 		try {
  | 			return (SessionFactory) new InitialContext()
  | 					.lookup("java:/hibernate/SessionFactory");
  | 		} catch (Exception e) {
  | 			log.error("Could not locate SessionFactory in JNDI", e);
  | 			throw new IllegalStateException(
  | 					"Could not locate SessionFactory in JNDI");
  | 		}
  | 	}
  | 


I read a lot of post, but never found a solution.
Can i get some help, please?



View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4264187#4264187

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4264187



More information about the jboss-user mailing list