| Hii
 I am getting this error when ever i a m trying to run my code,for the collection mapping using hibernate,pls tell me where should i change my code...
 
 
 org.hibernate.MappingException: Error reading resource: com/jlc/hibernate/customer.hbm.xml
 at org.hibernate.cfg.Configuration.addResource(Configuration.java:452)
 at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1263)
 at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1235)
 at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1217)
 at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1184)
 at org.hibernate.cfg.Configuration.configure(Configuration.java:1112)
 at org.hibernate.cfg.Configuration.configure(Configuration.java:1098)
 at com.jlc.hibernate.Client.main(Client.java:13)
 Caused by: org.hibernate.MappingException: invalid mapping
 at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:399)
 at org.hibernate.cfg.Configuration.addResource(Configuration.java:449)
 ... 7 more
 Caused by: org.xml.sax.SAXParseException: Element type "List" must be declared.
 at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
 at org.apache.xerces.util.ErrorHandlerWrapper.error(Unknown Source)
 at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
 at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
 at org.apache.xerces.impl.dtd.XMLDTDValidator.handleStartElement(Unknown Source)
 at org.apache.xerces.impl.dtd.XMLDTDValidator.startElement(Unknown Source)
 at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source)
 at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
 at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
 at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
 at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
 at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
 at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
 at org.dom4j.io.SAXReader.read(SAXReader.java:465)
 at org.hibernate.cfg.Configuration.addInputStream(Configuration.java:398)
 ... 8 more
 
 
 customer.hbm.xml
 
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
 
 
 <hibernate-mapping package="com.jlc.hibernate">
 <class name="Customer" table="customer_table">
 
 <id name="cid" column="cid" type="int">
 <generator class="increment">
 </generator>
 </id>
 <property name="cname" type="string"></property>
 <List name="emails" table="emails_table">
 <key column="cid"/>
 <list-index column="index"></list-index>
 <element column="emailId" type="string"/>
 </List>
 
 <set name="phones" table="phones_table">
 <key column="cid"></key>
 <element column="phoneno" type="string"/>
 </set>
 
 <map name="refs" table="refs_table">
 <key column="cid"/>
 <index column="rname" type="string"/>
 <element column="rphone" type="string"/>
 </map>
 
 </class>
 </hibernate-mapping>
 
 
 client.java
 package com.jlc.hibernate;
 
 import org.hibernate.*;
 import org.hibernate.cfg.*;
 import java.util.*;
 
 class Client
 {
 public static void main(String as[])
 {
 try{
 Configuration cfg=new Configuration();
 cfg=cfg.configure();
 SessionFactory sf=cfg.buildSessionFactory();
 Session s=sf.openSession();
 Transaction tx=s.beginTransaction();
 System.out.println("hiii sufiii");
 
 //List ems=new ArrayList();
 
 List<String> ems=new ArrayList<String>();
 ems.add("a@gmail.com");
 ems.add("b@gmail.com");
 
 Set<String> phs=new HashSet<String>();
 phs.add("2211");
 phs.add("3322");
 
 Map<String, String> refs=new HashMap<String, String>();
 refs.put("r1", "11");
 refs.put("r2", "22");
 
 Customer c=new Customer();
 s.save(c);
 Customer cust=(Customer)s.load(Customer.class,"c");
 System.out.println(cust.getCname());
 System.out.println(cust.getEmails());
 System.out.println(cust.getPhones());
 System.out.println(cust.getRefs());
 tx.commit();
 }catch(Exception e)
 {
 e.printStackTrace();
 
 }
 
 }
 
 }
 
 
 |