Need help with Hibernate? Read this first:
http://www.hibernate.org/ForumMailingli ... AskForHelp
Hi,
I am having  this code in Order.java(bean)
private List lineItems = new ArrayList();
public void setLineItems(List lineItems) {
    logger.info("In Order.setLineItems:::: "+lineItems);
      this.lineItems = lineItems;
      }
      
public List getLineItems() {
    logger.info("In Order.getLineItems:::: "+lineItems);
      return lineItems;
      }
      
      
 But In orders table I do not have anything like lineItems
But i have lineitem table which consists of orderid,linenum,itemid,quantity,unitprice fields.
This is my lineItem.java.
package org.springframework.samples.jpetstore.domain;
import java.io.Serializable;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class LineItem implements Serializable {
  /* Private Fields */
  private int orderId;
  private int lineNumber;
  private int quantity;
  private String itemId;
  private double unitPrice;
  private Item item;
  protected final Log logger=LogFactory.getLog(getClass());
  /* Constructors */
  public LineItem() {
  }
  public LineItem(int lineNumber, CartItem cartItem) {
    this.lineNumber = lineNumber;
    this.quantity = cartItem.getQuantity();
    this.itemId = cartItem.getItem().getItemId();
    this.unitPrice = cartItem.getItem().getListPrice();
    this.item = cartItem.getItem();
  }
  /* JavaBeans Properties */
  public int getOrderId() {
      logger.info("In LineItem.getOrderId:::: ");
      return orderId;
      }
  public void setOrderId(int orderId) {
      logger.info("In LineItem.setOrderId:::: ");
      this.orderId = orderId;
      }
  public int getLineNumber() {
      logger.info("In LineItem.getLineNumber:::: ");
      return lineNumber;
      }
  public void setLineNumber(int lineNumber) {
      logger.info("In LineItem.setLineNumber:::: ");
      this.lineNumber = lineNumber;
      }
  public String getItemId() {
      logger.info("In LineItem.getItemId:::: ");
      return itemId;
      }
  public void setItemId(String itemId) {
      logger.info("In LineItem.setItemId:::: ");
      this.itemId = itemId;
      }
  public double getUnitPrice() {
      logger.info("In LineItem.getUnitPrice:::: ");
      return unitPrice;
      }
  public void setUnitPrice(double unitprice) {
      logger.info("In LineItem.setUnitPrice:::: ");
      this.unitPrice = unitprice;
      }
  public Item getItem() {
      logger.info("In LineItem.getItem:::: ");
      return item;
  }
  public void setItem(Item item) {
      logger.info("In LineItem.setItem:::: ");
    this.item = item;
  }
  public int getQuantity() {
      logger.info("In LineItem.getQuantity:::: ");
      return quantity;
      }
  public void setQuantity(int quantity) {
    logger.info("In LineItem.setQuantity:::: "+quantity);
    this.quantity = quantity;
  }
    public double getTotalPrice() {
        logger.info("In LineItem.getTotalPrice:::: ");
        return this.unitPrice * this.quantity;
    }
}
Hibernate version:
using with spring 1.2.2
 
Mapping documents:
        <class name="org.springframework.samples.jpetstore.domain.Order" table="orders" lazy="false" >
           
           
            <id name="orderId" type="integer" unsaved-value="null" >
                <column name="orderid" sql-type="integer" not-null="true"/>
                <generator class="uuid.hex"/>
            </id>    
            <one-to-one name="username" class="org.springframework.samples.jpetstore.domain.Account" />            
            <property name="orderDate" column="orderdate"/>
            <property name="shipAddress1" column="shipaddr1"/>
            <property name="shipAddress2" column="shipaddr2"/>
            <property name="shipCity" column="shipcity"/>
            <property name="shipState" column="shipstate"/>    
            <property name="shipZip" column="shipzip"/>   
            <property name="shipCountry" column="shipcountry"/>   
            <property name="billAddress1" column="billaddr1"/>   
            <property name="billAddress2" column="billaddr2"/>   
            <property name="billCity" column="billcity"/>   
            <property name="billState" column="billstate"/>   
            <property name="billZip" column="billzip"/>    
            <property name="billCountry" column="billcountry"/>   
            <property name="courier" />
            <property name="totalPrice" />
            <property name="billToFirstName" column="billtofirstname"/>
            <property name="billToLastName" column="billtolastname"/>
            <property name="shipToFirstName" column="shiptofirstname"/>
            <property name="shipToLastName" column="shiptolastname"/>
            <property name="creditCard" column="creditcard"/>
            <property name="expiryDate" column="exprdate"/>
            <property name="cardType" column="cardtype"/>
            <property name="locale"/>
            <one-to-one name="status" class="org.springframework.samples.jpetstore.domain.Account"/>
            
        <!--<list name="lineItems" table="lineitem">
              <key column="orderid"/>
              <list-index column="linenum"/>                           
            </list>
        --> 
        <list name="lineitems" inverse="true" lazy="true">                
                <key>
                    <column name="orderid" />
                </key>
                <one-to-many  class="org.springframework.samples.jpetstore.domain.LineItem" />
        </list>        
        
    </class>
    
    
       <class name="org.springframework.samples.jpetstore.domain.LineItem" table="lineitem" lazy="false">
        
                <composite-id>
                    <key-property name="orderId"    column="orderid"/>
                    <key-property name="lineNumber" column="linenum"/>
                </composite-id>
                <property name="item" column="itemid" not-null="true"/>                
                <property name="quantity" column="quantity"/>
                <!--<one-to-one name="quantity" class="org.springframework.samples.jpetstore.domain.CartItem"/>-->
                <property name="unitPrice" column="unitprice" not-null="true"/>
       </class>
Code between sessionFactory.openSession() and session.close():
using springs getHibernate Template()
Full stack trace of any exception that occurs:
Mar 7, 2006 9:17:12 AM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-9080
Mar 7, 2006 9:17:12 AM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 984 ms
Mar 7, 2006 9:17:12 AM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Mar 7, 2006 9:17:12 AM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5.9
Mar 7, 2006 9:17:12 AM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
Mar 7, 2006 9:17:13 AM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive jpetstore.war
Mar 7, 2006 9:17:13 AM org.springframework.web.context.ContextLoader initWebApplicationContext
INFO: Root WebApplicationContext: initialization started
Mar 7, 2006 9:17:13 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/dataAccessContext-local.xml]
Mar 7, 2006 9:17:14 AM org.springframework.core.CollectionFactory <clinit>
INFO: JDK 1.4+ collections available
Mar 7, 2006 9:17:14 AM org.springframework.core.CollectionFactory <clinit>
INFO: Commons Collections 3.x available
Mar 7, 2006 9:17:14 AM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from ServletContext resource [/WEB-INF/applicationContext-hibernate.xml]
Mar 7, 2006 9:17:14 AM org.springframework.context.support.AbstractRefreshableApplicationContext refreshBeanFactory
INFO: Bean factory for application context [Root WebApplicationContext]: org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [propertyConfigurer,sessionFactory,transactionManager,dataSource,accountDao,categoryDao,productDao,itemDao,orderDao,accountValidator,orderValidator,petStore,petstore:service=hibernateStatistics,jmxExporter]; root of BeanFactory hierarchy
Mar 7, 2006 9:17:14 AM org.springframework.context.support.AbstractApplicationContext refresh
INFO: 14 beans defined in application context [Root WebApplicationContext]
Mar 7, 2006 9:17:14 AM org.springframework.beans.factory.support.AbstractBeanFactory getBean
INFO: Creating shared instance of singleton bean 'propertyConfigurer'
Mar 7, 2006 9:17:14 AM org.springframework.core.io.support.PropertiesLoaderSupport loadProperties
INFO: Loading properties file from ServletContext resource [/WEB-INF/jdbc.properties]
Mar 7, 2006 9:17:14 AM org.springframework.context.support.AbstractApplicationContext initMessageSource
INFO: Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@d0220c]
Mar 7, 2006 9:17:14 AM org.springframework.context.support.AbstractApplicationContext initApplicationEventMulticaster
INFO: Unable to locate ApplicationEventMulticaster with name 'applicationEventMulticaster': using default [org.springframework.context.event.SimpleApplicationEventMulticaster@1a19458]
Mar 7, 2006 9:17:14 AM org.springframework.ui.context.support.UiApplicationContextUtils initThemeSource
INFO: No ThemeSource found for [Root WebApplicationContext]: using ResourceBundleThemeSource
Mar 7, 2006 9:17:14 AM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
INFO: Pre-instantiating singletons in factory [org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [propertyConfigurer,sessionFactory,transactionManager,dataSource,accountDao,categoryDao,productDao,itemDao,orderDao,accountValidator,orderValidator,petStore,petstore:service=hibernateStatistics,jmxExporter]; root of BeanFactory hierarchy]
Mar 7, 2006 9:17:14 AM org.springframework.beans.factory.support.AbstractBeanFactory getBean
INFO: Creating shared instance of singleton bean 'sessionFactory'
Mar 7, 2006 9:17:14 AM org.springframework.beans.factory.support.AbstractBeanFactory getBean
INFO: Creating shared instance of singleton bean 'dataSource'
Mar 7, 2006 9:17:14 AM org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.0.4
Mar 7, 2006 9:17:14 AM org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
Mar 7, 2006 9:17:14 AM org.hibernate.cfg.Environment <clinit>
INFO: using CGLIB reflection optimizer
Mar 7, 2006 9:17:14 AM org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
Mar 7, 2006 9:17:14 AM org.hibernate.util.XMLHelper$ErrorLogger error
SEVERE: Error parsing XML: XML InputStream(141) The content of element type "list" must match "(meta*,subselect?,cache?,synchronize*,comment?,key,(index|list-index),(element|one-to-many|many-to-many|composite-element|many-to-any),loader?,sql-insert?,sql-update?,sql-delete?,sql-delete-all?,filter*)".
Mar 7, 2006 9:17:14 AM org.springframework.beans.factory.support.AbstractBeanFactory destroySingletons
INFO: Destroying singletons in factory {org.springframework.beans.factory.support.DefaultListableBeanFactory defining beans [propertyConfigurer,sessionFactory,transactionManager,dataSource,accountDao,categoryDao,productDao,itemDao,orderDao,accountValidator,orderValidator,petStore,petstore:service=hibernateStatistics,jmxExporter]; root of BeanFactory hierarchy}
Mar 7, 2006 9:17:14 AM org.springframework.web.context.ContextLoader initWebApplicationContext
SEVERE: Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/dataAccessContext-local.xml]: Initialization of bean failed; nested exception is org.hibernate.MappingException: invalid mapping
org.hibernate.MappingException: invalid mapping
        at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:399)
        at org.springframework.orm.hibernate3.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:623)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:966)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:358)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:270)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:312)
        at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134)
        at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:230)
        at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:156)
        at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:48)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3669)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4104)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:759)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:739)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:524)
        at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:788)
        at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:677)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:473)
        at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1102)
        at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
        at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1020)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
        at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
        at org.apache.catalina.core.StandardService.start(StandardService.java:450)
        at org.apache.catalina.core.StandardServer.start(StandardServer.java:683)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
        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:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
Caused by: org.xml.sax.SAXParseException: The content of element type "list" must match "(meta*,subselect?,cache?,synchronize*,comment?,key,(index|list-index),(element|one-to-many|many-to-many|composite-element|many-to-any),loader?,sql-insert?,sql-update?,sql-delete?,sql-delete-all?,filter*)".
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:172)
        at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:382)
        at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
        at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.java:2048)
        at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:932)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanEndElement(XMLNSDocumentScannerImpl.java:713)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1685)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242)
        at org.dom4j.io.SAXReader.read(SAXReader.java:465)
        at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:398)
        ... 35 more
Mar 7, 2006 9:17:15 AM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
Mar 7, 2006 9:17:15 AM org.apache.catalina.core.StandardContext start
SEVERE: Context [/jpetstore] startup failed due to previous errors
Mar 7, 2006 9:17:16 AM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-9080
Mar 7, 2006 9:17:16 AM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:9009
Mar 7, 2006 9:17:16 AM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/47  config=null
Mar 7, 2006 9:17:16 AM org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
Mar 7, 2006 9:17:16 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 3860 ms
Name and version of the database you are using:
mysql 4.0
The generated SQL (show_sql=true):
hbm does not get loaded.
Debug level Hibernate log excerpt:
The problem starts when I added this code  in the hbm.xml
    
    
    <list name="lineItems" inverse="true" lazy="true" cascade="all">                
            <key>
                <column name="orderid" />
            </key>
            <one-to-many  class="org.springframework.samples.jpetstore.domain.LineItem" />
    </list>
    
    I am trying to use hibernate through spring.
    Can anybody help me here how the relationship should be or where I am getting wrong???
    
    Regards,
    Avinash