Skip to Main Content

Java Database Connectivity (JDBC)

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Hibernate binding problem

843859Oct 28 2008 — edited Nov 20 2014
i am using hibernate 3.2,postgressql 8.2 and java 1.6 i have the following directory structure

NewHibernate
|
|---------------------------------->hibernate.cfg.xml
|------->hibernatedemo
| |
| |
| |------------->HibernateClient.java
| |------------->PopulateMessages.java
|
|----------->hibernate
| |
| |------>MyHibernate.java
| |------->MyHibernate.hbm.xml
|


hibernate.cfg.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.url">
jdbc:postgresql://localhost/newgenlib
</property>
<property name="hibernate.connection.driver_class">
org.postgresql.Driver
</property>
<property name="hibernate.connection.username">
postgres
</property>
<property name="hibernate.connection.password">
girish
</property>
<property name="hibernate.connection.pool_size">
0
</property>
<!--<property name="hibernate.jdbc.batch_size">0</property>-->
<property name="hibernate.dialect">
org.hibernate.dialect.PostgreSQLDialect
</property>
<property name="hibernate.show_sql">
true
</property>
<!-- "Import" the mapping resources here -->
<mapping resource="hibernatedemo\hibernate\MyHibernate.hbm.xml"/>
</session-factory>
</hibernate-configuration>


HibernateClient.java

package hibernatedemo;
import java.util.Iterator;
import java.util.List;
import org.hibernate.*;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import hibernatedemo.hibernate.MyHibernate;

public class HibernateClient
{

public static void main(String[] args)
{
SessionFactory factory =
new Configuration().configure().buildSessionFactory();
Session session = factory.openSession();
List messages = session.createQuery("from myhibernate").list();
System.out.println("Found " + messages.size() + " message(s):");
Iterator i = messages.iterator();
while(i.hasNext())
{
MyHibernate msg = (MyHibernate)i.next();
System.out.println(msg.getName());
}
session.close();


}


}


PopulateMessages.java

package hibernatedemo;
import java.util.Date;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import hibernatedemo.hibernate.MyHibernate;
public class PopulateMessages {
public static void main(String[] args) {
SessionFactory factory =
new Configuration().configure().buildSessionFactory();
Session session = factory.openSession();
session.beginTransaction();
MyHibernate m1 = new MyHibernate("kumar");
session.save(m1);
session.getTransaction().commit();
session.close();
}
}


MyHibernate.java

package hibernatedemo.hibernate;
public class MyHibernate
{
public String name;
public MyHibernate()
{}
public MyHibernate(String name)
{
this.name=name;
}
public String getName()
{
return this.name;
}
public void setName(String name)
{
this.name=name;
}

}


MyHibernate.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="hibernatedemo.hibernate.MyHibernate" table="MyHibernate">
<id column="id" unsaved-value="-1" type="integer">
<generator class="sequence">
<param name="sequence">sequence_name</param>
</generator>
</id>
<property name="name" column="name" type="string"/>
</class>
</hibernate-mapping>


My backend data base and table are

newgenlib----database

table
----------------
CREATE TABLE myhibernate
(
id integer NOT NULL,
name character varying(20),
CONSTRAINT "MyHibernate_pkey" PRIMARY KEY (id)
)

Now my PopulateMessages.java class is working fine i am able to make an entry using hibernate but the problem is with HibernateClient which is should retrieve values from the database.When i try to run HibernateClient i am getting the exception

Oct 28, 2008 11:46:02 AM org.hibernate.impl.SessionFactoryObjectFactory addInstance
INFO: Not binding factory to JNDI, no JNDI name configured
Exception in thread "main" org.hibernate.hql.ast.QuerySyntaxException: myhibernate is not mapped [from myhibernate]
at org.hibernate.hql.ast.util.SessionFactoryHelper.requireClassPersister(SessionFactoryHelper.java:158)
at org.hibernate.hql.ast.tree.FromElementFactory.addFromElement(FromElementFactory.java:87)
at org.hibernate.hql.ast.tree.FromClause.addFromElement(FromClause.java:70)
at org.hibernate.hql.ast.HqlSqlWalker.createFromElement(HqlSqlWalker.java:255)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElement(HqlSqlBaseWalker.java:3056)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromElementList(HqlSqlBaseWalker.java:2945)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.fromClause(HqlSqlBaseWalker.java:688)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.query(HqlSqlBaseWalker.java:544)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.selectStatement(HqlSqlBaseWalker.java:281)
at org.hibernate.hql.antlr.HqlSqlBaseWalker.statement(HqlSqlBaseWalker.java:229)
at org.hibernate.hql.ast.QueryTranslatorImpl.analyze(QueryTranslatorImpl.java:228)
at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:160)
at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:111)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:77)
at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:56)
at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:72)
at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:133)
at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:112)
at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1623)
at hibernatedemo.HibernateClient.main(HibernateClient.java:18)
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 25 2008
Added on Oct 28 2008
2 comments
189 views