Results 1 to 6 of 6

Thread: Spring 2.5 + Hibernate 3.2 (Foreign Generator) = HibernateSystemException

  1. #1

    Unhappy [Solved] Spring 2.5 + Hibernate 3.2 (Foreign Generator) = HibernateSystemException

    I posted this problem and eventually found the solution too, but it's not very graceful. If anyone has found or knows a more graceful solution, please post.

    PART I

    Ok this is really long, hope you are patient in reading the whole. I'm splitting the post in 3 parts.

    I'm not sure if the error is at the end of Hibernate Configuration, or something is missing from Spring which is not putting things in place.

    User.java
    Code:
    @Entity
    @Table(name = "user")
    //@SecondaryTable(name = "demographic", pkJoinColumns = { @PrimaryKeyJoinColumn(name = "id") })
    public class User implements Serializable, Comparable<User> {
    
      @Id
      @Column(name = "id")
      @GeneratedValue
      private Long id;
    
      @Column(name = "username", unique = true, nullable = false, length = 25)
      private String username;
    
      @Column(name = "password", length = 25, nullable = false)
      private String password;
    
      @Column(name = "name")
      private String name;
    
      @Column(name = "created")
      private Timestamp created = new Timestamp(new Date().getTime());
    
      @OneToOne(cascade = { CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH })
      @PrimaryKeyJoinColumn
      private Demographic demographic;
      
      // Respective Getters/Setters
    
    }
    Demographics.java
    Code:
    // The GenericGenerator is the root of all evil
    @GenericGenerator(name = "pkUserDemographics", strategy = "foreign", parameters = @Parameter(name = "property", value = "user"))
    @Entity
    @Table(name = "demographic")
    public class Demographic implements Serializable {
    
      @Id
      @Column(name = "id")
      @GeneratedValue(generator = "pkUserDemographics")
      @ForeignKey(name = "fk_user_demographics_pk") // This is ignored.
      private Long id;
    
      @Column(name = "address")
      private String address;
    
      @Column(name = "city")
      private String city;
    
      @Column(name = "state")
      private String state;
    
      @Column(name = "country")
      private String country;
    
      @OneToOne(optional = false, fetch = FetchType.LAZY)
      @PrimaryKeyJoinColumn
      private User user;
      
      // Respective Getters/Setters
    }
    UserDAO.java
    Code:
    public class UserDAO extends HibernateDaoSupport implements IUserDao{
    
      @Transactional(propagation = Propagation.REQUIRES_NEW)
      public void setUser(User user) {
        getHibernateTemplate().merge(user);
      
      }
    }
    IUserDao is an interface with setUser(User user) nothing more, so not much of a code to print.

    UserDAOTest.java
    Code:
    public class UserDAOTest extends TestCase {
    
      private static ApplicationContext ctx;
    
      private ApplicationContext getApplicationContext() {
        return ctx;
      }
      static {
        ctx = new FileSystemXmlApplicationContext("application-context.xml");
      }
    
      public void testDAO() {
        IUserDao userDAO = (IUserDao)getApplicationContext().getBean("userDAO");
        User user = new User();
        user.setName("Clark Kent");
        user.setPassword("kryptonite");
        user.setUsername("superman");
        // create demographics object
        Demographic demographic = new Demographic();
        demographic.setAddress("daily planet");
        demographic.setCity("metropolis");
        demographic.setState("NY");
        demographic.setCountry("US");
        user.setDemographic(demographic);
        // Save the user to database
        userDAO.setUser(user);
      }
    }
    application-context.xml
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:tx="http://www.springframework.org/schema/tx"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                               http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
    
     <!-- DATASOURCE DECLARATION -->
     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
      <property name="driverClassName" value="com.mysql.jdbc.Driver" />
      <property name="url" value="jdbc:mysql://localhost:3306/chotatest?autoReconnect=true" />
      <property name="username" value="root" />
      <property name="password" value="root" />
     </bean>
    
     <!-- DATABASE PROPERTIES -->
     <bean id="db-properties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
      <property name="properties">
       <props>
        <prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>
        <prop key="hibernate.show_sql">true</prop>
        <prop key="hibernate.format_sql">true</prop>
        <prop key="hibernate.hbm2ddl.auto">create-drop</prop>
        <prop key="hibernate.cache.use_query_cache">false</prop>
        <prop key="hibernate.cache.provider_class">org.hibernate.cache.NoCacheProvider</prop>
        <prop key="hibernate.cache.use_second_level_cache">false</prop>
       </props>
      </property>
     </bean>
    
     <!-- HIBERNATE SESSION FACTORY -->
     <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
      <property name="dataSource" ref="dataSource" />
      <property name="hibernateProperties" ref="db-properties" />
      <property name="annotatedClasses">
       <list>
        <value>com.test.pojo.User</value>
        <value>com.test.pojo.Demographic</value>
       </list>
      </property>
      <property name="annotatedPackages">
       <list>
        <value>com.test.pojo</value>
       </list>
      </property>
     </bean>
    
     <!-- DAO DEFINITION -->
     <bean id="userDAO" class="com.test.dao.UserDAO">
      <property name="sessionFactory" ref="sessionFactory" />
     </bean>
    
     <!-- TRANSACTIONS -->
     <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
      <property name="sessionFactory" ref="sessionFactory" />
     </bean>
    
     <tx:annotation-driven transaction-manager="transactionManager" />
    
    </beans>
    Last edited by varunmehta; Feb 26th, 2008 at 04:20 PM. Reason: Solution Found

  2. #2

    Unhappy Part II

    The remaining part of the post. Wow need to go for Part III too sorry about that folks... But cannot put the logs

    Now when the application starts it creates the DB schema

    Schema
    Code:
        create table demographic (
            id bigint not null,
            address varchar(255),
            city varchar(255),
            state varchar(255),
            country varchar(255),
            primary key (id)
        )
     
        create table user (
            id bigint not null auto_increment,
            username varchar(25) not null unique,
            password varchar(25) not null,
            name varchar(255),
            created datetime,
            primary key (id)
        )
     
        alter table demographic 
            add index FKC6CADFA526DEEE1 (id), 
            add constraint FKC6CADFA526DEEE1 
            foreign key (id) 
            references user (id)
    Now the problem. When I run the test case the whole application behaves like a nice lad, initializing all beans and creating the schema as described above, but when you try to save the pojo. It gives the following error.

    ERROR Trace
    Code:
    org.springframework.orm.hibernate3.HibernateSystemException: attempted to assign id from null one-to-one property: user; nested exception is org.hibernate.id.IdentifierGenerationException: attempted to assign id from null one-to-one property: user
    	at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:659)
    	at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
    	at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:378)
    	at org.springframework.orm.hibernate3.HibernateTemplate.merge(HibernateTemplate.java:769)
    	at com.test.dao.UserDAO.setUser(UserDAO.java:22)
    	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.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:301)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    	at $Proxy15.setUser(Unknown Source)
    	at com.test.test.UserDAOTest.testDAO(UserDAOTest.java:37)
    	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)
    Caused by: org.hibernate.id.IdentifierGenerationException: attempted to assign id from null one-to-one property: user
    	at org.hibernate.id.ForeignGenerator.generate(ForeignGenerator.java:44)
    	at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:98)
    	at org.hibernate.event.def.DefaultMergeEventListener.entityIsTransient(DefaultMergeEventListener.java:186)
    	at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:123)
    	at org.hibernate.impl.SessionImpl.fireMerge(SessionImpl.java:687)
    	at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:669)
    	at org.hibernate.engine.CascadingAction$6.cascade(CascadingAction.java:245)
    	at org.hibernate.engine.Cascade.cascadeToOne(Cascade.java:268)
    	at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:216)
    	at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
    	at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
    	at org.hibernate.event.def.AbstractSaveEventListener.cascadeAfterSave(AbstractSaveEventListener.java:437)
    	at org.hibernate.event.def.DefaultMergeEventListener.entityIsTransient(DefaultMergeEventListener.java:194)
    	at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:123)
    	at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:53)
    	at org.hibernate.impl.SessionImpl.fireMerge(SessionImpl.java:677)
    	at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:661)
    	at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:665)
    	at org.springframework.orm.hibernate3.HibernateTemplate$23.doInHibernate(HibernateTemplate.java:772)
    	at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:373)
    	... 33 more
    There are many post on hibernate on this topic with many people giving the solution too, but for some reason the solution does not apply to my application. If I save the pojo's individually they work fine, but when you try to save them as a "Cascade" option, it does not work.

    My post on Hibernate
    http://forum.hibernate.org/viewtopic.php?t=983821

    Just want to be sure, it is hibernate or because of some missing spring configuration. Checked this link which Hibernate has ruled out as not being a bug, http://opensource.atlassian.com/proj...rowse/HHH-2712. The solution provided at the end of the thread does not work for me.

    Also the hibernate CaveatEmptor application
    http://www.hibernate.org/400.html The one using JPA/EJB3.0 uses the same GenericGenerator, and that seems to work, so was not sure, where does the problem lie.

    Let me know if you need the logs in debug mode

  3. #3

    Unhappy Part III The logs

    Last Really Big File [Log] (Sorry had to cut the debug mode, was WAY toooo long, this is in INFO MODE
    Code:
    2008-02-26 14:45:16,293 INFO [org.springframework.context.support.FileSystemXmlApplicationContext] - Refreshing org.springframework.context.support.FileSystemXmlApplicationContext@bd0108: display name [org.springframework.context.support.FileSystemXmlApplicationContext@bd0108]; startup date [Tue Feb 26 14:45:16 EST 2008]; root of context hierarchy
    2008-02-26 14:45:16,385 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] - Loading XML bean definitions from file [/home/varun/workspace/chotaTest/application-context.xml]
    2008-02-26 14:45:17,175 INFO [org.springframework.context.support.FileSystemXmlApplicationContext] - Bean factory for application context [org.springframework.context.support.FileSystemXmlApplicationContext@bd0108]: org.springframework.beans.factory.support.DefaultListableBeanFactory@1112783
    2008-02-26 14:45:17,271 INFO [org.springframework.beans.factory.support.DefaultListableBeanFactory] - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1112783: defining beans [dataSource,db-properties,sessionFactory,userDAO,transactionManager,org.springframework.aop.config.internalAutoProxyCreator,org.springframework.transaction.config.internalTransactionAdvisor]; root of factory hierarchy
    2008-02-26 14:45:17,427 INFO [org.hibernate.cfg.annotations.Version] - Hibernate Annotations 3.2.1.GA
    2008-02-26 14:45:17,443 INFO [org.hibernate.cfg.Environment] - Hibernate 3.2.1
    2008-02-26 14:45:17,448 INFO [org.hibernate.cfg.Environment] - hibernate.properties not found
    2008-02-26 14:45:17,452 INFO [org.hibernate.cfg.Environment] - Bytecode provider name : cglib
    2008-02-26 14:45:17,457 INFO [org.hibernate.cfg.Environment] - using JDK 1.4 java.sql.Timestamp handling
    2008-02-26 14:45:17,633 INFO [org.hibernate.cfg.AnnotationConfiguration] - Mapping package com.test.pojo
    2008-02-26 14:45:17,634 WARN [org.hibernate.cfg.AnnotationBinder] - Package not found or wo package-info.java: com.test.pojo
    2008-02-26 14:45:17,634 INFO [org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean] - Building new Hibernate SessionFactory
    2008-02-26 14:45:17,681 INFO [org.hibernate.cfg.AnnotationBinder] - Binding entity from annotated class: com.test.pojo.User
    2008-02-26 14:45:17,735 INFO [org.hibernate.cfg.annotations.EntityBinder] - Bind entity com.test.pojo.User on table user
    2008-02-26 14:45:17,812 INFO [org.hibernate.cfg.AnnotationBinder] - Binding entity from annotated class: com.test.pojo.Demographic
    2008-02-26 14:45:17,813 INFO [org.hibernate.cfg.annotations.EntityBinder] - Bind entity com.test.pojo.Demographic on table demographic
    2008-02-26 14:45:17,933 INFO [org.hibernate.connection.ConnectionProviderFactory] - Initializing connection provider: org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider
    2008-02-26 14:45:18,206 INFO [org.hibernate.cfg.SettingsFactory] - RDBMS: MySQL, version: 5.0.45-Debian_1ubuntu3.1-log
    2008-02-26 14:45:18,207 INFO [org.hibernate.cfg.SettingsFactory] - JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.0.6 ( $Date: 2007-03-09 22:13:57 +0100 (Fri, 09 Mar 2007) $, $Revision: 6341 $ )
    2008-02-26 14:45:18,224 INFO [org.hibernate.dialect.Dialect] - Using dialect: org.hibernate.dialect.MySQLDialect
    2008-02-26 14:45:18,229 INFO [org.hibernate.transaction.TransactionFactoryFactory] - Using default transaction strategy (direct JDBC transactions)
    2008-02-26 14:45:18,231 INFO [org.hibernate.transaction.TransactionManagerLookupFactory] - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)
    2008-02-26 14:45:18,231 INFO [org.hibernate.cfg.SettingsFactory] - Automatic flush during beforeCompletion(): disabled
    2008-02-26 14:45:18,231 INFO [org.hibernate.cfg.SettingsFactory] - Automatic session close at end of transaction: disabled
    2008-02-26 14:45:18,231 INFO [org.hibernate.cfg.SettingsFactory] - JDBC batch size: 15
    2008-02-26 14:45:18,232 INFO [org.hibernate.cfg.SettingsFactory] - JDBC batch updates for versioned data: disabled
    2008-02-26 14:45:18,232 INFO [org.hibernate.cfg.SettingsFactory] - Scrollable result sets: enabled
    2008-02-26 14:45:18,232 INFO [org.hibernate.cfg.SettingsFactory] - JDBC3 getGeneratedKeys(): enabled
    2008-02-26 14:45:18,232 INFO [org.hibernate.cfg.SettingsFactory] - Connection release mode: on_close
    2008-02-26 14:45:18,233 INFO [org.hibernate.cfg.SettingsFactory] - Maximum outer join fetch depth: 2
    2008-02-26 14:45:18,233 INFO [org.hibernate.cfg.SettingsFactory] - Default batch fetch size: 1
    2008-02-26 14:45:18,233 INFO [org.hibernate.cfg.SettingsFactory] - Generate SQL with comments: disabled
    2008-02-26 14:45:18,233 INFO [org.hibernate.cfg.SettingsFactory] - Order SQL updates by primary key: disabled
    2008-02-26 14:45:18,233 INFO [org.hibernate.cfg.SettingsFactory] - Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
    2008-02-26 14:45:18,237 INFO [org.hibernate.hql.ast.ASTQueryTranslatorFactory] - Using ASTQueryTranslatorFactory
    2008-02-26 14:45:18,237 INFO [org.hibernate.cfg.SettingsFactory] - Query language substitutions: {}
    2008-02-26 14:45:18,238 INFO [org.hibernate.cfg.SettingsFactory] - JPA-QL strict compliance: disabled
    2008-02-26 14:45:18,238 INFO [org.hibernate.cfg.SettingsFactory] - Second-level cache: disabled
    2008-02-26 14:45:18,238 INFO [org.hibernate.cfg.SettingsFactory] - Query cache: disabled
    2008-02-26 14:45:18,238 INFO [org.hibernate.cfg.SettingsFactory] - Optimize cache for minimal puts: disabled
    2008-02-26 14:45:18,238 INFO [org.hibernate.cfg.SettingsFactory] - Structured second-level cache entries: disabled
    2008-02-26 14:45:18,243 INFO [org.hibernate.cfg.SettingsFactory] - Echoing all SQL to stdout
    2008-02-26 14:45:18,243 INFO [org.hibernate.cfg.SettingsFactory] - Statistics: disabled
    2008-02-26 14:45:18,243 INFO [org.hibernate.cfg.SettingsFactory] - Deleted entity synthetic identifier rollback: disabled
    2008-02-26 14:45:18,244 INFO [org.hibernate.cfg.SettingsFactory] - Default entity-mode: pojo
    2008-02-26 14:45:18,284 INFO [org.hibernate.impl.SessionFactoryImpl] - building session factory
    2008-02-26 14:45:18,653 INFO [org.hibernate.impl.SessionFactoryObjectFactory] - Not binding factory to JNDI, no JNDI name configured
    2008-02-26 14:45:18,666 INFO [org.hibernate.tool.hbm2ddl.SchemaExport] - Running hbm2ddl schema export
    2008-02-26 14:45:18,666 INFO [org.hibernate.tool.hbm2ddl.SchemaExport] - exporting generated schema to database
    2008-02-26 14:45:18,714 INFO [org.hibernate.tool.hbm2ddl.SchemaExport] - schema export complete
    2008-02-26 14:45:18,741 INFO [org.springframework.orm.hibernate3.HibernateTransactionManager] - Using DataSource [org.apache.commons.dbcp.BasicDataSource@1412e75] of Hibernate SessionFactory for HibernateTransactionManager
    Hibernate: 
        insert 
        into
            user
            (username, password, name, created) 
        values
            (?, ?, ?, ?)
    Whew!! finally... done..

  4. #4

    Talking The Solution

    Looks Like I'm solved the problem... But I did not like the solution even though it's pretty logical.

    Code:
      public void testDAO() {
        IUserDao userDAO = (IUserDao)getApplicationContext().getBean("userDAO");
        User user = new User();
        user.setName("Clark Kent");
        user.setPassword("kryptonite");
        user.setUsername(RandomStringUtils.randomAlphabetic(10));
        // create demographics object
        Demographic demographic = new Demographic();
        demographic.setAddress("daily planet");
        demographic.setCity(RandomStringUtils.randomAlphabetic(10));
        demographic.setState("NY");
        demographic.setCountry("US");
        user.setDemographic(demographic);
        demographic.setUser(user);
        // Save the user to database
        userDAO.setUser(user);
      }
    You have to set the User back on Demographics! Makes sense cos it's Bidirectional, but do we have any other solution to this problem??

  5. #5

    Default

    Thanks, that was a great help. I wasn't looking forward to spending the next 2 days banging my head against a walk trying to figure that one out!

  6. #6
    Join Date
    Aug 2011
    Posts
    28

    Default

    I have these bidirectional settings.

    I am still getting this exception



    Code:
    SEVERE: Servlet.service() for servlet [blackboard] in context with path [/Blackboard] threw exception [Request processing failed; nested exception is java.lang.Exception: java.lang.NullPointerException] with root cause
    java.lang.NullPointerException
    	at org.hibernate.tuple.entity.AbstractEntityTuplizer.getPropertyValue(AbstractEntityTuplizer.java:521)
    	at org.hibernate.persister.entity.AbstractEntityPersister.getPropertyValue(AbstractEntityPersister.java:3867)
    	at org.hibernate.id.ForeignGenerator.generate(ForeignGenerator.java:100)
    	at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:121)
    	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
    	at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
    	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
    	at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
    	at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
    	at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:713)
    	at org.hibernate.impl.SessionImpl.save(SessionImpl.java:701)
    	at org.hibernate.impl.SessionImpl.save(SessionImpl.java:697)
    	at com.peanuts.blackboard.database.dao.impl.StudentDAO.savenewStudent(StudentDAO.java:72)
    	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.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:309)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
    	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)
    	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
    	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
    	at $Proxy9.savenewStudent(Unknown Source)
    	at com.peanuts.blackboard.bus.svc.impl.StudentManager.savenewStudent(StudentManager.java:36)
    	at com.peanuts.blackboard.web.controller.admin.AdminAddUserController.onSubmit(AdminAddUserController.java:72)
    	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.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
    	at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:426)
    	at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:414)
    	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
    	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
    	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:560)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    	at com.springsource.insight.collection.tcserver.request.HttpRequestOperationCollectionValve.invoke(HttpRequestOperationCollectionValve.java:84)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
    	at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    	at java.lang.Thread.run(Thread.java:662)

    please help

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •