Hi All,
I am working with a small sample application using Spring+JPA+Hibernate+HSQLDB. (New Starter for JPA)
I am facing a peculiar problem with this. When i tried to persists my POJO, i am not able to do that in the database. And i am not getting any error also.
My application code base is as follows:-
POJO
(Removed getter/setter for code brevity)Code:import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.OneToMany; import javax.persistence.SequenceGenerator; import javax.persistence.Table; @Entity @Table(name="Role") public class Role { @Id @GeneratedValue(strategy=GenerationType.SEQUENCE) private long roleID; private String name; private String description; private boolean hasAccessLevel; }
my DAO and DAO IMPl is as follows
(shown only one method- that i am using )Code:public interface RoleDAO extends BaseDAO { public Role findById(long roleID); public Role findByName(String roleName); public Role findByDescription(String description); public List <Role> findAllRoles(); } public class RoleDAOImpl implements RoleDAO { JpaTemplate jpaTemplate; public void saveObject(Object obj) { // TODO Auto-generated method stub jpaTemplate.persist(obj); } public void setJpaTemplate(JpaTemplate jpaTemplate) { this.jpaTemplate=jpaTemplate; }
configuration file is as follows
persistence.xml
applicationContext.xmlCode:<?xml version="1.0" encoding="UTF-8"?> <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"> <persistence-unit name="RTECApp" transaction-type="RESOURCE_LOCAL"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <class>com.mori.rcc.architecture.framework.persistence.entities.Role</class> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/> <property name="hibernate.hbm2ddl.auto" value="create-update"/> </properties> </persistence-unit> </persistence>
i am not getting any error, even i can able to see the change in sequence too, but no record is inserted into the table.Code:<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean "> <property name="persistenceUnitName" value="RTECApp"/> <property name="dataSource" ref="dataSource"/> <!-- <property name="loadTimeWeaver"> <bean class="org.springframework.instrument.classloading.SimpleLoadTimeWeaver"/> </property> --> <!-- <property name="loadTimeWeaver" class="org.springframework.instrument.classloading.InstrumentationLoadTimeWeaver"/> --> <property name="jpaVendorAdapter" ref="vendorAdapter"/> </bean> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> <property name="driverClassName" value="org.hsqldb.jdbcDriver"/> <property name="url" value="jdbc:hsqldb:hsql://localhost"/> <property name="username" value="sa"/> <property name="password" value=""/> </bean> <bean id="vendorAdapter" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> <property name="generateDdl" value="true"/> <property name="databasePlatform" value="org.hibernate.dialect.HSQLDialect" /> <!-- <property name="database" value="HSQL" /> <property name="showSql" value="true"/> <property name="generateDdl" value="true"/> --> </bean> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory"/> <property name="dataSource" ref="dataSource"/> </bean> <bean id="jpaTemplate" class="org.springframework.orm.jpa.JpaTemplate"> <property name="entityManagerFactory"> <ref bean="entityManagerFactory" /> </property> </bean> <bean name="roleDAO" class="com.mori.rcc.architecture.framework.persistence.dao.impl.RoleDAOImpl"> <property name="jpaTemplate"> <ref bean="jpaTemplate" /> </property> </bean> <bean class="com.mori.rcc.architecture.framework.persistence.entities.Role"/> <bean id="entityManager" class="org.springframework.orm.jpa.support.SharedEntityManagerBean"> <property name="entityManagerFactory" ref="entityManagerFactory"/> </bean> <!-- JPA annotations bean post processor --> <bean class="org.springframework.orm.jpa.support.PersistenceAnn otationBeanPostProcessor"/>
can anybody help me out in this ? I am missing something out here ???
cheers
sai


Reply With Quote