Exception in thread "main" org.hibernate.InvalidMappingException: Could not parse mapping document from resource userdata.hbm.xml



I am trying my first hibernate program and i am getting this error. My program simply enters username, password and email in the database. I have created a POJO user.java, a UserManager.java, and two xml files, one for config and other for hibernate mapping. I have tried on this error for so long and still no solution.


This is my user.java:



package com.csc.training.Twitter;

public class User {

String username;
String password;
String email;
int user_id;

public int getUser_id() {
return user_id;
}
public void setUser_id(int user_id) {
this.user_id = user_id;
}


public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}


UserManager.java



package com.csc.training.Twitter;

import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import org.hibernate.classic.Session;

public class UserManager {

public void registration() {

Configuration config=new Configuration();
config.configure("hibernate.cfg.xml");
SessionFactory factory=config.buildSessionFactory();

Session session=factory.openSession();

Transaction transaction = (Transaction) session.beginTransaction();

User user = new User();

user.setUsername("fname2");
user.setPassword("lname2");
user.setEmail("def@def.def");

session.persist(user);

transaction.commit();

System.out.println("User Id : " + user.getUser_id());

session.close();
System.out.println("Employee update successful...");

}

public static void main(String[] args) {
UserManager um=new UserManager();
um.registration();
}
}


And these are the xml files..


userdata.hbm.xml:



<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "hibernate-mapping-3.0.dtd">

<hibernate-mapping>
<class name="com.csc.training.Twitter.User" table="userdata">
<id name="user_id">
<generator class="increment"></generator>
</id>
<id name="joined">
<generator class="assigned"></generator>
</id>

<property name="username" column="username" type="string" />
<property name="password" column="password" type="string" />
<property name="email" column="email" type="string" />
</class>

</hibernate-mapping>


hibernate.cfg.xml:



<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate configuration DTD//EN" "hibernate-configuration-3.0.dtd">

<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="hibernate.connection.driver_class">
com.mysql.jdbc.Driver
</property>

<!-- Assume test is the database name -->
<property name="hibernate.connection.url">
jdbc:mysql://localhost/twitter
</property>
<property name="hibernate.connection.username">
root
</property>
<property name="hibernate.connection.password">
root
</property>

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

</session-factory>
</hibernate-configuration>


My database is twitter and the table name is userdata. userdata contains user_id (int, primary key,auto increment), joined(timestamp),username,email,password. Can anyone tell me what the error is? Thank you very much!


No comments:

Post a Comment