0

I am using the latest jars for hibernate. (i.e. hibernate-release-4.0.1.Final ) In the previous versions i was getting proper output. I replaced the hibernate jars and there was a exception.

org.hibernate.InvalidMappingException: Unable to read XML

I read some blogs and changed the doctype to

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

Still the error persists.

i am attaching my cfg.xml and one of my hbm.xml (as all 10 cant be attached)

Plez let me what is the problem and what should be the solution. Thank you

Error:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at com.cluster.action.Action.main(Action.java:19)
Caused by: org.hibernate.InvalidMappingException: Unable to read XML
    at org.hibernate.internal.util.xml.MappingReader.readMappingDocument(MappingReader.java:106)
    at org.hibernate.cfg.Configuration.add(Configuration.java:474)
    at org.hibernate.cfg.Configuration.add(Configuration.java:470)
    at org.hibernate.cfg.Configuration.add(Configuration.java:643)
    at org.hibernate.cfg.Configuration.addResource(Configuration.java:726)
    at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2102)
    at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2074)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2054)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2007)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1922)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1901)
    at com.cluster.util.HibernateUtil.<clinit>(HibernateUtil.java:14)
    ... 1 more
Caused by: org.dom4j.DocumentException: Error on line 28 of document  : Attribute name "cas" associated with an element type "key" must be followed by the ' = ' character. Nested exception: Attribute name "cas" associated with an element type "key" must be followed by the ' = ' character.
    at org.dom4j.io.SAXReader.read(SAXReader.java:482)
    at org.hibernate.internal.util.xml.MappingReader.readMappingDocument(MappingReader.java:76)
    ... 12 more

hibernate.cfg.xml :

 <?xml version='1.0' encoding='UTF-8'?>
    <!DOCTYPE hibernate-configuration PUBLIC
              "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
              "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

    <hibernate-configuration>

        <session-factory>
            <property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
            <property name="connection.url">jdbc:oracle:thin:@localhost:1521:XE</property>
            <property name="connection.username">julyaugust</property>
            <property name="connection.password">julyaugust</property>
            <property name="dialect">org.hibernate.dialect.Oracle10gDialect</property>
            <property name="show_sql">true</property>

            <mapping resource="com/cluster/entity/employee.hbm.xml"/>
            <mapping resource="com/cluster/entity/department.hbm.xml"/>
            <mapping resource="com/cluster/entity/addressDetails.hbm.xml"/>
            <mapping resource="com/cluster/entity/addressType.hbm.xml"/>
            <mapping resource="com/cluster/entity/city.hbm.xml"/>
            <mapping resource="com/cluster/entity/state.hbm.xml"/>
            <mapping resource="com/cluster/entity/email.hbm.xml"/>
            <mapping resource="com/cluster/entity/emailType.hbm.xml"/>
            <mapping resource="com/cluster/entity/phone.hbm.xml"/>
            <mapping resource="com/cluster/entity/phoneType.hbm.xml"/>
        </session-factory>

    </hibernate-configuration>

employee.hbm.xml

 <?xml version="1.0" encoding="UTF-8"?>
         <!DOCTYPE hibernate-mapping PUBLIC
            '-//Hibernate/Hibernate Mapping DTD 3.0//EN'
            'http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd'>


             <hibernate-mapping package="com.cluster.entity" >
            <class name="Employee" table="EMPLOYEE">
            <id name="intEmployeeID" column="EMPLOYEE_ID"> 
                <generator class="sequence">
                    <param name="sequence">EMPLOYEE_ID_SEQ</param>
                </generator>
            </id>

            <property name="strFirstName" column = "FIRSTNAME"/>
            <property name="strLastName" column="LASTNAME"/>
            <property name="strDateOfBirth" column="DATE_OF_BIRTH"/>
            <property name="strSalary" column="SALARY"/>

            <many-to-one name="department" column="DEPARTMENT_ID" not-null = "true"          class = "Department"/>

            <set name="setAddressDetails" cascade="all" lazy="true">
                <key column="EMPLOYEE_ID" not-null="true"></key>
                <one-to-many class="AddressDetails"/>
            </set>

            <set name="setPhones" cascade="all" lazy="true">
                <key column="EMPLOYEE_ID" not-null="true" cas></key>
                <one-to-many class="Phone"/>
            </set>

            <set name="seEmails" cascade="all" lazy="true" >
                <key column="EMPLOYEE_ID" not-null="true"></key>
                <one-to-many class="Email"/>
            </set>

        </class>

           </hibernate-mapping>
1
  • What is "cas" ? from log Attribute name "cas" associated with an element type "key" must be followed by the ' = ' character. Nested exception: Attribute name "cas" associated with an element type "key" must be followed by the ' = ' character. Commented Feb 21, 2012 at 14:18

1 Answer 1

2

Check this out

        <set name="setPhones" cascade="all" lazy="true">
            <key column="EMPLOYEE_ID" not-null="true" **cas**></key>
            <one-to-many class="Phone"/>
        </set>

From the log you attached " from log Attribute name "cas" associated with an element type "key" must be followed by the ' = ' character. Nested exception: Attribute name "cas" associated with an element type "key" must be followed by the ' = ' character." is the cause of the problem.

"there is no attribute called "cas".

Sign up to request clarification or add additional context in comments.

1 Comment

uff...Thanks! Silly mistakes... you have a very sharp eye!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.