File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Object Relational Mapping and the fly likes org.hibernate.InvalidMappingException Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Databases » Object Relational Mapping
Bookmark "org.hibernate.InvalidMappingException" Watch "org.hibernate.InvalidMappingException" New topic


Amruta Mistry

Joined: Jan 25, 2012
Posts: 9

Hello Everyone

I am new to Hibernate.
This is my first hibernate code where I am getting exception.
And I am unable to figure out what's going wrong.

Here is my code:

this is my Employee.hbm.xml

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"

<class name="Employee" table="EMPLOYEE">
<id name="id" type="int" column="id">
<generator class="native"/>

<property name="firstname" column="first_name" type="String"/>
<property name="lastname" column="last_name" type="String"/>
<property name="salary" column="salary" type="int"/>


<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration SYSTEM

<property name="hibernate.dialect">
<property name="hibernate.connection.driver_class">

<property name="hibernate.connection.url">
<property name="hibernate.connection.username">
<property name="hibernate.connection.password">

<!-- List of XML mapping files -->
<mapping resource="Employee.hbm.xml"/>


package com.practice.HBtest;

public class Employee {

private int id;
private String firstName;
private String lastName;
private Integer salary;

public Employee(){}
public Employee(String fname,String lname , int salary){
public int getId() {
return id;
public void setId(int id) {;
public String getFirstName() {
return firstName;
public void setFirstName(String first_name) {
this.firstName = first_name;
public String getLastName() {
return lastName;
public void setLastName(String last_name) {
this.lastName = last_name;
public int getSalary() {
return salary;
public void setSalary(int salary) {
this.salary = salary;

my main class:
package com.practice.HBtest;

import org.hibernate.HibernateException;
import org.hibernate.SessionFactory;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.service.ServiceRegistry;

public class EmployeeRecordManager {

private static SessionFactory sessionFactory;
private static ServiceRegistry serviceRegistry;
private Session session;

public static void main(String[] args) {

EmployeeRecordManager erm = new EmployeeRecordManager();

try {
Configuration cfg = new Configuration()
SessionFactory sessionFactory = cfg.configure()

} catch (Exception e) {
Integer empID1 = erm.addEmployee("Amruta", "Ali", 1000);
Integer empID2 = erm.addEmployee("Ruchi", "Das", 5000);
Integer empID3 = erm.addEmployee("Mitul", "Paul", 10000);



public Integer addEmployee(String fname, String lname, int salary) {
Session session = sessionFactory.openSession();
Transaction tx = null;
Integer empID = null;
try {
tx = session.beginTransaction();
Employee employee = new Employee(fname, lname, salary);
empID = (Integer);
} catch (HibernateException e) {
if (tx != null)
} finally {
return empID;


When i run it it throws me below exception:
Nov 7, 2012 2:55:05 PM org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
Nov 7, 2012 2:55:05 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.1.8.Final}
Nov 7, 2012 2:55:05 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: not found
Nov 7, 2012 2:55:05 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Nov 7, 2012 2:55:05 PM org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: Employee.hbm.xml
Nov 7, 2012 2:55:05 PM org.hibernate.cfg.Configuration configure
INFO: HHH000043: Configuring from resource: /hibernate.cfg.xml
Nov 7, 2012 2:55:05 PM org.hibernate.cfg.Configuration getConfigurationInputStream
INFO: HHH000040: Configuration resource: /hibernate.cfg.xml
Nov 7, 2012 2:55:05 PM org.hibernate.cfg.Configuration addResource
INFO: HHH000221: Reading mappings from resource: Employee.hbm.xml
Nov 7, 2012 2:55:05 PM org.hibernate.cfg.Configuration doConfigure
INFO: HHH000041: Configured SessionFactory: null
Nov 7, 2012 2:55:05 PM org.hibernate.cfg.Configuration$MappingsImpl addImport
INFO: HHH000071: Duplicate import: Employee -> Employee
org.hibernate.InvalidMappingException: Could not parse mapping document from resource Employee.hbm.xml
Exception in thread "main" java.lang.NullPointerException
at com.practice.HBtest.EmployeeRecordManager.addEmployee(
at com.practice.HBtest.EmployeeRecordManager.main(

Thank You
Amruta Mistry
Ankit Dan
Ranch Hand

Joined: Aug 31, 2012
Posts: 47

keep the name of the dto and the property name same....because it says InvalidMappingException...this might be the case
Hope this helps
Amruta Mistry

Joined: Jan 25, 2012
Posts: 9

Hey Ankit
Thanks for the reply.
I was able to fix the issue.There was 1 jar missing added that jar as well some code changes provided with my main class.

Initially i was using:

which i have changed to

as well i have added the correct port number for my database in hibernate.cfg.xml file which has fixed my issue.

Thanks for your reply ankit.

Ankit Dan
Ranch Hand

Joined: Aug 31, 2012
Posts: 47

Happy to help!!
I agree. Here's the link:
subject: org.hibernate.InvalidMappingException
It's not a secret anymore!