Below is the code to save an object inside a MySql database:
test. java
-----------
database.javaCode:import java.io.Serializable; import javax.persistence.Entity; import javax.persistence.Table; @Entity @Table(name="test") public class test implements Serializable{ private static final long serialVersionUID = 1L; private String data; public String getData() { return data; } public void setData(String data) { this.data = data; } }
----------------
However, I am getting the following unpleasant message:Code:import java.sql.SQLException; import java.util.List; import org.hibernate.HibernateException; import org.hibernate.SQLQuery; import org.hibernate.Session; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.orm.hibernate3.HibernateCallback; import org.springframework.orm.hibernate3.HibernateTemplate; public class database { public static void main(String[] args){ ApplicationContext ctx = new ClassPathXmlApplicationContext("database.xml"); HibernateTemplate hibernate = (HibernateTemplate)ctx.getBean("hibernateTemplate"); System.out.println(hibernate.executeFind(new HibernateCallback() { @Override public Object doInHibernate(Session session) throws HibernateException, SQLException { test a = new test(); a.setData("john"); session.save(a); SQLQuery query = session.createSQLQuery("select * from test"); return query.list(); } }).size()); } }
Code:May 2, 2011 1:16:45 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@17ace8d: display name [org.springframework.context.support.ClassPathXmlApplicationContext@17ace8d]; startup date [Mon May 02 13:16:45 SGT 2011]; root of context hierarchy May 2, 2011 1:16:45 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions INFO: Loading XML bean definitions from class path resource [database.xml] May 2, 2011 1:16:46 PM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory INFO: Bean factory for application context [org.springframework.context.support.ClassPathXmlApplicationContext@17ace8d]: org.springframework.beans.factory.support.DefaultListableBeanFactory@8f4fb3 May 2, 2011 1:16:46 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@8f4fb3: defining beans [hibernateTemplate,bkl.hib.SessionFactory,bkl.hib.DataSource,bkl.hib.HibernateConfig]; root of factory hierarchy May 2, 2011 1:16:47 PM org.hibernate.cfg.annotations.Version <clinit> INFO: Hibernate Annotations 3.2.0.GA May 2, 2011 1:16:47 PM org.hibernate.cfg.Environment <clinit> INFO: Hibernate 3.2.1 May 2, 2011 1:16:47 PM org.hibernate.cfg.Environment <clinit> INFO: hibernate.properties not found May 2, 2011 1:16:47 PM org.hibernate.cfg.Environment buildBytecodeProvider INFO: Bytecode provider name : cglib May 2, 2011 1:16:47 PM org.hibernate.cfg.Environment <clinit> INFO: using JDK 1.4 java.sql.Timestamp handling May 2, 2011 1:16:47 PM org.springframework.orm.hibernate3.LocalSessionFactoryBean buildSessionFactory INFO: Building new Hibernate SessionFactory May 2, 2011 1:16:47 PM org.hibernate.connection.ConnectionProviderFactory newConnectionProvider INFO: Initializing connection provider: org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: RDBMS: MySQL, version: 5.5.9 May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.0.8 ( Revision: ${svn.Revision} ) May 2, 2011 1:16:50 PM org.hibernate.dialect.Dialect <init> INFO: Using dialect: org.hibernate.dialect.SQLServerDialect May 2, 2011 1:16:50 PM org.hibernate.transaction.TransactionFactoryFactory buildTransactionFactory INFO: Using default transaction strategy (direct JDBC transactions) May 2, 2011 1:16:50 PM org.hibernate.transaction.TransactionManagerLookupFactory getTransactionManagerLookup INFO: No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended) May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Automatic flush during beforeCompletion(): disabled May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Automatic session close at end of transaction: disabled May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Scrollable result sets: enabled May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: JDBC3 getGeneratedKeys(): enabled May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Connection release mode: on_close May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Default batch fetch size: 1 May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Generate SQL with comments: enabled May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Order SQL updates by primary key: disabled May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory createQueryTranslatorFactory INFO: Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory May 2, 2011 1:16:50 PM org.hibernate.hql.ast.ASTQueryTranslatorFactory <init> INFO: Using ASTQueryTranslatorFactory May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Query language substitutions: {} May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: JPA-QL strict compliance: disabled May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Second-level cache: enabled May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Query cache: disabled May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory createCacheProvider INFO: Cache provider: org.hibernate.cache.NoCacheProvider May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Optimize cache for minimal puts: disabled May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Structured second-level cache entries: disabled May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Statistics: disabled May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Deleted entity synthetic identifier rollback: disabled May 2, 2011 1:16:50 PM org.hibernate.cfg.SettingsFactory buildSettings INFO: Default entity-mode: pojo May 2, 2011 1:16:50 PM org.hibernate.impl.SessionFactoryImpl <init> INFO: building session factory May 2, 2011 1:16:50 PM org.hibernate.impl.SessionFactoryObjectFactory addInstance INFO: Not binding factory to JNDI, no JNDI name configured May 2, 2011 1:16:50 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute INFO: Running hbm2ddl schema update May 2, 2011 1:16:50 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute INFO: fetching database metadata May 2, 2011 1:16:50 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute INFO: updating schema May 2, 2011 1:16:50 PM org.hibernate.tool.hbm2ddl.SchemaUpdate execute INFO: schema update complete Exception in thread "main" org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: test; nested exception is org.hibernate.MappingException: Unknown entity: test Caused by: org.hibernate.MappingException: Unknown entity: test at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:548) at org.hibernate.impl.SessionImpl.getEntityPersister(SessionImpl.java:1338) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:96) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186) at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:33) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175) at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:27) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:535) at org.hibernate.impl.SessionImpl.save(SessionImpl.java:523) at org.hibernate.impl.SessionImpl.save(SessionImpl.java:519) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.orm.hibernate3.HibernateTemplate$CloseSuppressingInvocationHandler.invoke(HibernateTemplate.java:1202) at $Proxy1.save(Unknown Source) at database$1.doInHibernate(database.java:22) at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:372) at org.springframework.orm.hibernate3.HibernateTemplate.executeFind(HibernateTemplate.java:342) at database.main(database.java:17)


Reply With Quote
