Any body help me,regarding hibernate small problem
I am working with hibernarte .I am new to it
when ever i am running hibernate program it is not giving any reply and the values are not updated to the table.
this is my hibernate client file.
import java.io.*;
import javax.servlet.*;
import category.Cat;
import java.sql.*;
import net.sf.hibernate.cfg.Configuration;
import net.sf.hibernate.SessionFactory;
import net.sf.hibernate.Session;
import net.sf.hibernate.Transaction;
import net.sf.hibernate.MappingException;
import net.sf.hibernate.HibernateException;
public class HibernateProblem extends GenericServlet{
public void service(ServletRequest req,ServletResponse res)throws ServletException,IOException
{
try {
Configuration conf = new Configuration();
System.out.println("1");
conf.configure(new File("/hibernate.cfg.xml"));
System.out.println("2");
SessionFactory sessionFactory = conf.buildSessionFactory();
System.out.println("3");
Session sess = sessionFactory.openSession();
System.out.println("4");
Cat c=new Cat("x","y");
c.setName("x");
System.out.println(c.getName());
sess.save(c);
System.out.println("5");
sess.flush();
System.out.println("6");
sess.connection().commit();
System.out.println("6");
System.out.println(" ############ " );
} catch (HibernateException hibEx) {
System.out.println( " HibernateException - " + hibEx);
System.out.println(hibEx);
} catch (Exception sqlEx) {
System.out.println(" Exception - " + sqlEx);
}
}
}
and my server.xml contains the database connections as
<Context path="/quickstart" docBase="quickstart">
<Resource name="jdbc/mysap" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/mysap">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.sap.dbtech.jdbc.DriverSapDB</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:sapdb://192.168.1.174/softlanc</value>
</parameter>
<parameter>
<name>username</name>
<value>DBA</value>
</parameter>
<parameter>
<name>password</name>
<value>dba</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
</ResourceParams>
</Context>
my web.xml file contains
<web-app>
<servlet>
<servlet-name>ak</servlet-name>
<servlet-class>HibernateProblem</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ak</servlet-name>
<url-pattern>/ak</url-pattern>
</servlet-mapping>
<resource-ref>
<res-ref-name>jdbc/mysap</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>
my hibernate.properties file contains
######################
### Query Language ###
######################
## define query language constants / function names
hibernate.query.substitutions true 1, false 0, yes 'Y', no 'N'
#################
### Platforms ###
#################
## JNDI Datasource
hibernate.connection.datasource jdbc/mysap
hibernate.connection.username DBA
hibernate.connection.password dba
## HypersonicSQL
#hibernate.dialect net.sf.hibernate.dialect.HSQLDialect
#hibernate.connection.driver_class org.hsqldb.jdbcDriver
#hibernate.connection.username sa
#hibernate.connection.password
#hibernate.connection.url jdbc:hsqldb:hsql://localhost
#hibernate.connection.url jdbc:hsqldb:test
#hibernate.connection.url jdbc:hsqldb:.
## PostgreSQL
#hibernate.dialect net.sf.hibernate.dialect.PostgreSQLDialect
#hibernate.connection.driver_class org.postgresql.Driver
#hibernate.connection.url jdbc:postgresql:template1
#hibernate.connection.username pg
#hibernate.connection.password
#hibernate.query.substitutions yes 'Y', no 'N'
## DB2
#hibernate.dialect net.sf.hibernate.dialect.DB2Dialect
#hibernate.connection.driver_class COM.ibm.db2.jdbc.app.DB2Driver
#hibernate.connection.url jdbc:db2:test
#hibernate.connection.username db2
#hibernate.connection.password db2
## DB2/400
#hibernate.dialect net.sf.hibernate.dialect.DB2400Dialect
#hibernate.connection.username user
#hibernate.connection.password password
## Native driver
#hibernate.connection.driver_class COM.ibm.db2.jdbc.app.DB2Driver
#hibernate.connection.url jdbc:db2://systemname
## Toolbox driver
#hibernate.connection.driver_class com.ibm.as400.access.AS400JDBCDriver
#hibernate.connection.url jdbc:as400://systemname
## MySQL
#hibernate.dialect net.sf.hibernate.dialect.MySQLDialect
#hibernate.connection.driver_class org.gjt.mm.mysql.Driver
#hibernate.connection.driver_class com.mysql.jdbc.Driver
#hibernate.connection.url jdbc:mysql:///test
#hibernate.connection.username root
#hibernate.connection.password
## Oracle
#hibernate.dialect net.sf.hibernate.dialect.Oracle9Dialect
#hibernate.dialect net.sf.hibernate.dialect.OracleDialect
#hibernate.connection.driver_class oracle.jdbc.driver.OracleDriver
#hibernate.connection.username ora
#hibernate.connection.password ora
#hibernate.connection.url jdbc:oracle:thin:@localhost:1521:test
## Sybase
#hibernate.dialect net.sf.hibernate.dialect.SybaseDialect
#hibernate.connection.driver_class com.sybase.jdbc2.jdbc.SybDriver
#hibernate.connection.username sa
#hibernate.connection.password sasasa
#hibernate.connection.url jdbc:sybase:Tds:co3061835-a:5000/tempdb
## Mckoi SQL
#hibernate.dialect net.sf.hibernate.dialect.MckoiDialect
#hibernate.connection.driver_class com.mckoi.JDBCDriver
#hibernate.connection.url jdbc:mckoi:///
#hibernate.connection.url jdbc:mckoi:local://C:/mckoi1.00/db.conf
#hibernate.connection.username admin
#hibernate.connection.password nimda
## SAP DB
hibernate.dialect net.sf.hibernate.dialect.SAPDBDialect
hibernate.connection.driver_class com.sap.dbtech.jdbc.DriverSapDB
hibernate.connection.url jdbc:sapdb://192.168.1.174/softlanc
hibernate.connection.username DBA
hibernate.connection.password dba
hibernate.query.substitutions yes Y
## MS SQL Server
#hibernate.dialect net.sf.hibernate.dialect.SQLServerDialect
#hibernate.connection.username sa
#hibernate.connection.password sa
## JSQL Driver
#hibernate.connection.driver_class com.jnetdirect.jsql.JSQLDriver
#hibernate.connection.url jdbc:JSQLConnect://1E1/test
## JTURBO Driver
#hibernate.connection.driver_class com.newatlanta.jturbo.driver.Driver
#hibernate.connection.url jdbc:JTurbo://1E1:1433/test
## WebLogic Driver
#hibernate.connection.driver_class weblogic.jdbc.mssqlserver4.Driver
#hibernate.connection.url jdbc:weblogic:mssqlserver4:1E1:1433
## Microsoft Driver (not recommended!)
#hibernate.connection.driver_class com.microsoft.jdbc.sqlserver.SQLServerDriver
#hibernate.connection.url jdbc:microsoft:sqlserver://1E1;DatabaseName=test;SelectMethod=cursor
## jTDS
#hibernate.connection.driver_class net.sourceforge.jtds.jdbc.Driver
#hibernate.connection.url jdbc:jtds:sqlserver://1E1/test;SelectMethod=cursor
#hibernate.jdbc.use_scrollable_resultset false
## Interbase
#hibernate.dialect net.sf.hibernate.dialect.InterbaseDialect
#hibernate.connection.username sysdba
#hibernate.connection.password masterkey
## DO NOT specify hibernate.connection.sqlDialect
## InterClient
#hibernate.connection.driver_class interbase.interclient.Driver
#hibernate.connection.url jdbc:interbase://localhost:3060/C:/firebird/test.gdb
## Pure Java
#hibernate.connection.driver_class org.firebirdsql.jdbc.FBDriver
#hibernate.connection.url jdbc:firebirdsql:localhost/3050:/firebird/test.gdb
## Pointbase
#hibernate.dialect net.sf.hibernate.dialect.PointbaseDialect
#hibernate.connection.driver_class com.pointbase.jdbc.jdbcUniversalDriver
#hibernate.connection.url jdbc:pointbase:embedded:sample
#hibernate.connection.username PBPUBLIC
#hibernate.connection.password PBPUBLIC
#################################
### Hibernate Connection Pool ###
#################################
hibernate.connection.pool_size 1
###########################
### C3P0 Connection Pool###
###########################
#hibernate.c3p0.max_size 2
#hibernate.c3p0.min_size 2
#hibernate.c3p0.timeout 5000
#hibernate.c3p0.max_statements 100
#hibernate.c3p0.idle_test_period 3000
#hibernate.c3p0.acquire_increment 2
##hibernate.c3p0.validate false
###################################
### Apache DBCP Connection Pool ###
###################################
## connection pool
#hibernate.dbcp.maxActive 100
#hibernate.dbcp.whenExhaustedAction 1
#hibernate.dbcp.maxWait 120000
#hibernate.dbcp.maxIdle 10
## prepared statement cache
#hibernate.dbcp.ps.maxActive 100
#hibernate.dbcp.ps.whenExhaustedAction 1
#hibernate.dbcp.ps.maxWait 120000
#hibernate.dbcp.ps.maxIdle 10
## optional query to validate pooled connections:
#hibernate.dbcp.validationQuery select 1 from dual
#hibernate.dbcp.testOnBorrow true
#hibernate.dbcp.testOnReturn false
##############################
### Proxool Connection Pool###
##############################
## Properties for external configuration of Proxool
hibernate.proxool.pool_alias pool1
## Only need one of the following
#hibernate.proxool.existing_pool true
#hibernate.proxool.xml proxool.xml
#hibernate.proxool.properties proxool.properties
#################################
### Plugin ConnectionProvider ###
#################################
## use a custom ConnectionProvider (if not set, Hibernate will choose a built-in ConnectionProvider using hueristics)
#hibernate.connection.provider_class net.sf.hibernate.connection.DriverManagerConnectionProvider
#hibernate.connection.provider_class net.sf.hibernate.connection.DatasourceConnectionProvider
#hibernate.connection.provider_class net.sf.hibernate.connection.C3P0ConnectionProvider
#hibernate.connection.provider_class net.sf.hibernate.connection.DBCPConnectionProvider
#hibernate.connection.provider_class net.sf.hibernate.connection.ProxoolConnectionProvider
#######################
### Transaction API ###
#######################
## the Transaction API abstracts application code from the underlying JTA or JDBC transactions
#hibernate.transaction.factory_class net.sf.hibernate.transaction.JTATransactionFactory
#hibernate.transaction.factory_class net.sf.hibernate.transaction.JDBCTransactionFactory
## to use JTATransactionFactory, Hibernate must be able to locate the UserTransaction in JNDI
## default is java:comp/UserTransaction
## you do NOT need this setting if you specify hibernate.transaction.manager_lookup_class
#jta.UserTransaction jta/usertransaction
#jta.UserTransaction javax.transaction.UserTransaction
#jta.UserTransaction UserTransaction
## to use JCS caching with JTA, Hibernate must be able to obtain the JTA TransactionManager
#hibernate.transaction.manager_lookup_class net.sf.hibernate.transaction.JBossTransactionManagerLookup
#hibernate.transaction.manager_lookup_class net.sf.hibernate.transaction.WeblogicTransactionManagerLookup
#hibernate.transaction.manager_lookup_class net.sf.hibernate.transaction.WebSphereTransactionManagerLookup
#hibernate.transaction.manager_lookup_class net.sf.hibernate.transaction.OrionTransactionManagerLookup
#hibernate.transaction.manager_lookup_class net.sf.hibernate.transaction.ResinTransactionManagerLookup
##############################
### Miscellaneous Settings ###
##############################
## print all generated SQL to the console
#hibernate.show_sql true
## auto schema export
#hibernate.hbm2ddl.auto create-drop
#hibernate.hbm2ddl.auto create
#hibernate.hbm2ddl.auto update
## specify a JDBC isolation level
#hibernate.connection.isolation 4
## set the JDBC fetch size
#hibernate.jdbc.fetch_size 25
## set the maximum JDBC 2 batch size (a nonzero value enables batching)
hibernate.jdbc.batch_size 0
## enable use of JDBC 2 scrollable ResultSets (specifying a Dialect will cause Hibernate to use a sensible default)
#hibernate.jdbc.use_scrollable_resultset true
## use streams when writing binary types to / from JDBC
hibernate.jdbc.use_streams_for_binary true
## use JDBC 3 PreparedStatement.getGeneratedKeys to get the identifier of an inserted row
#hibernate.jdbc.use_get_generated_keys true
## specify a default schema for unqualified tablenames
#hibernate.default_schema test
## use a custom stylesheet for XML generation (if not specified, hibernate-default.xslt will be used)
#hibernate.xml.output_stylesheet C:/Hibernate/net/sf/hibernate/hibernate-default.xslt
## enable outerjoin fetching (specifying a Dialect will cause Hibernate to use sensible default)
#hibernate.use_outer_join false
## set the maximum depth of the outer join fetch tree
hibernate.max_fetch_depth 1
## enable CGLIB reflection optimizer (enabled by default)
#hibernate.cglib.use_reflection_optimizer false
##########################
### Second-level Cache ###
##########################
## optimize chache for minimal "puts" instead of minimal "gets" (good for clustered cache)
#hibernate.cache.use_minimal_puts true
## set a prefix for cache region names
hibernate.cache.region_prefix hibernate.test
## enable the query cache
hibernate.cache.use_query_cache true
## choose a cache implementation
hibernate.cache.provider_class net.sf.ehcache.hibernate.Provider
#hibernate.cache.provider_class net.sf.hibernate.cache.EmptyCacheProvider
#hibernate.cache.provider_class net.sf.hibernate.cache.HashtableCacheProvider
#hibernate.cache.provider_class net.sf.hibernate.cache.TreeCacheProvider
#hibernate.cache.provider_class net.sf.hibernate.cache.OSCacheProvider
#hibernate.cache.provider_class net.sf.hibernate.cache.JCSCacheProvider
#hibernate.cache.provider_class net.sf.hibernate.cache.SwarmCacheProvider
############
### JNDI ###
############
## specify a JNDI name for the SessionFactory
#hibernate.session_factory_name hibernate/session_factory
## Hibernate uses JNDI to bind a name to a SessionFactory and to look up the JTA UserTransaction;
## if hibernate.jndi.* are not specified, Hibernate will use the default InitialContext() which
## is the best approach in an application server
#file system
#hibernate.jndi.class com.sun.jndi.fscontext.RefFSContextFactory
#hibernate.jndi.url file:/
#WebSphere
#hibernate.jndi.class com.ibm.websphere.naming.WsnInitialContextFactory
#hibernate.jndi.url
iiop://localhost:900/
my Cat.hbm file contains
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="category.Cat" table="cat">
<!-- A 32 hex character is our surrogate key. It's automatically
generated by Hibernate with the UUID pattern. -->
<id name="id" type="string" unsaved-value="null">
<column name="id" sql-type="char(10)" not-null="true"/>
<generator class="uuid.hex"/>
</id>
<!-- A cat has to have a name, but it shouldn' be too long. -->
<property name="name">
<column name="name" length="10" not-null="true"/>
</property>
</class>
</hibernate-mapping>
and my hibernate.properties file contains
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.datasource">java:comp/env/jdbc/mysap</property>
<property name="show_sql">false</property>
<property name="dialect">net.sf.hibernate.dialect.SAPDBDialect</property>
<!-- Mapping files -->
<mapping resource="Cat.hbm.xml"/>
</session-factory>
</hibernate-configuration>
and my web-inf contains
web.xml,classes
in classes directory i have
category package,Cat.hbm,hibernate.cfg,hibernate.properties,
then what is the problem
when ever i am executing this file in tomcat it is giving this message
Starting service Tomcat-Standalone
Apache Tomcat/4.0.4
Starting service Tomcat-Apache
Apache Tomcat/4.0.4
Jun 21, 2004 11:43:05 AM net.sf.hibernate.cfg.Environment <clini
INFO: Hibernate 2.0.1
Jun 21, 2004 11:43:05 AM net.sf.hibernate.cfg.Environment <clini
INFO: loaded properties from resource hibernate.properties: {hib
n.driver_class=com.sap.dbtech.jdbc.DriverSapDB, hibernate.cglib.
ptimizer=true, hibernate.cache.provider_class=net.sf.ehcache.hib
hibernate.cache.use_query_cache=true, hibernate.max_fetch_depth
alect=net.sf.hibernate.dialect.SAPDBDialect, hibernate.jdbc.use_
ry=true, hibernate.jdbc.batch_size=0, hibernate.query.substituti
nate.proxool.pool_alias=pool1, hibernate.connection.username=DBA
e.region_prefix=hibernate.test, hibernate.connection.datasource=
rnate.connection.url=jdbc:sapdb://192.168.1.174/softlanc, hibern
assword=dba, hibernate.connection.pool_size=1}
Jun 21, 2004 11:43:05 AM net.sf.hibernate.cfg.Environment <clini
INFO: using java.io streams to persist binary types
Jun 21, 2004 11:43:05 AM net.sf.hibernate.cfg.Environment <clini
INFO: using CGLIB reflection optimizer
Jun 21, 2004 11:43:05 AM net.sf.hibernate.cfg.Environment <clini
INFO: JVM proxy support: true
Jun 21, 2004 11:43:05 AM net.sf.hibernate.cfg.Configuration addR
INFO: Mapping resource: Cat.hbm.xml
Jun 21, 2004 11:43:05 AM net.sf.hibernate.cfg.Binder bindRootCla
INFO: Mapping class: category.Cat -> cat
Jun 21, 2004 11:43:05 AM net.sf.hibernate.cfg.Configuration conf
INFO: Configured SessionFactory: null
Jun 21, 2004 11:43:06 AM net.sf.hibernate.impl.SessionFactoryImp
INFO: building session factory
Jun 21, 2004 11:43:06 AM net.sf.hibernate.dialect.Dialect <init>
INFO: Using dialect: net.sf.hibernate.dialect.SAPDBDialect
Jun 21, 2004 11:43:06 AM net.sf.hibernate.util.NamingHelper getI
INFO: JNDI InitialContext properties:{}
Jun 21, 2004 11:43:06 AM net.sf.hibernate.connection.DatasourceC
r configure
INFO: Using datasource: java:comp/env/jdbc/mysap
Jun 21, 2004 11:43:06 AM net.sf.hibernate.impl.SessionFactoryImp
INFO: Use outer join fetching: true
Jun 21, 2004 11:43:06 AM net.sf.hibernate.impl.SessionFactoryImp
INFO: Use scrollable result sets: false
Jun 21, 2004 11:43:06 AM net.sf.hibernate.impl.SessionFactoryObj
stance
INFO: no JDNI name configured
Jun 21, 2004 11:43:06 AM net.sf.hibernate.impl.SessionFactoryImp
INFO: Query language substitutions: {yes=Y}
Exception - null
1
Jun 21, 2004 11:43:13 AM net.sf.hibernate.cfg.Configuration addR
INFO: Mapping resource: Cat.hbm.xml
Jun 21, 2004 11:43:13 AM net.sf.hibernate.cfg.Binder bindRootCla
INFO: Mapping class: category.Cat -> cat
Jun 21, 2004 11:43:13 AM net.sf.hibernate.cfg.Configuration conf
INFO: Configured SessionFactory: null
2
Jun 21, 2004 11:43:13 AM net.sf.hibernate.impl.SessionFactoryImp
INFO: building session factory
Jun 21, 2004 11:43:13 AM net.sf.hibernate.dialect.Dialect <init>
INFO: Using dialect: net.sf.hibernate.dialect.SAPDBDialect
Jun 21, 2004 11:43:13 AM net.sf.hibernate.util.NamingHelper getI
INFO: JNDI InitialContext properties:{}
Jun 21, 2004 11:43:13 AM net.sf.hibernate.connection.DatasourceC
r configure
INFO: Using datasource: java:comp/env/jdbc/mysap
Jun 21, 2004 11:43:13 AM net.sf.hibernate.impl.SessionFactoryImp
INFO: Use outer join fetching: true
Jun 21, 2004 11:43:13 AM net.sf.hibernate.impl.SessionFactoryImp
INFO: Use scrollable result sets: false
Jun 21, 2004 11:43:13 AM net.sf.hibernate.impl.SessionFactoryObj
stance
INFO: no JDNI name configured
Jun 21, 2004 11:43:13 AM net.sf.hibernate.impl.SessionFactoryImp
INFO: Query language substitutions: {yes=Y}
3
4
x
5
Exception - null
plz any body solve it.
[/b]