spring - Saving an object via getSessionFactory().getCurrentSession().save(item) -


even if operation seems extremely used haven't found problem in code. in dao class have:

    public class itemdaoimpl extends hibernatedaosupport implements itemdao {     @transactional     public void additem(item item){         getsessionfactory().getcurrentsession().save(item);     }      @transactional(readonly = true)     public list<item> findallitem(){         return getsessionfactory().getcurrentsession().createquery("from item").list();     }} 

findallitem() works well, whereas additem() doesn't. when click button invokes additem() following error thrown:

java.lang.classcastexception: com.z.item.model.item cannot cast java.util.map javax.faces.el.evaluationexception: java.lang.classcastexception: com.z.item.model.item cannot cast java.util.map @ javax.faces.component.methodbindingmethodexpressionadapter.invoke(methodbindingmethodexpressionadapter.java:98) @ com.sun.faces.application.actionlistenerimpl.processaction(actionlistenerimpl.java:98) @ javax.faces.component.uicommand.broadcast(uicommand.java:311) . . .

but haven't specified map use object "item" everywhere. item object passed additem() correct. why exception thrown?

here how configure it:

<hibernate-mapping>     <class entity-name="com.z.item.model.item"         table="item">          <id name="id" type="long">             <column name="id" />             <generator class="identity" />         </id>         <property name="name" type="string">             <column name="itemname" length="45" not-null="true" />         </property>         <property name="amount" type="int">             <column name="amount" not-null="true" />         </property>         <property name="price" type="java.math.bigdecimal">             <column name="price" length="10" not-null="true" />         </property>     </class> </hibernate-mapping>       <tx:annotation-driven  transaction-manager="transactionmanager"/>     <bean id="transactionmanager"       class="org.springframework.jdbc.datasource.datasourcetransactionmanager">     <property name="datasource" ref="datasource"></property>     </bean>     <bean id="itemdao"          class="com.z.item.dao.impl.itemdaoimpl" >         <property name="sessionfactory" ref="sessionfactory"></property>     </bean>       <bean id="sessionfactory"       class="org.springframework.orm.hibernate3.localsessionfactorybean">     <property name="datasource">       <ref bean="datasource"/>     </property>       <property name="hibernateproperties">        <props>          <prop key="hibernate.dialect">org.hibernate.dialect.hsqldialect</prop>          <prop key="hibernate.show_sql">true</prop>        </props>     </property>     <property name="mappingresources">     <list>           <value>com/z/item/hibernate/item.hbm.xml</value>     </list>     </property>    </bean> 

i don't think issue caused hibernate. issue may have happened when click button , before reaching additem(). likely, data mapping issue(i assume map data item first when clicking button). try print out item before call additem(), should see above exception not calling additem().


Comments

Popular posts from this blog

node.js - Mongoose: Cast to ObjectId failed for value on newly created object after setting the value -

gradle error "Cannot convert the provided notation to a File or URI" -

python - NameError: name 'subprocess' is not defined -