Hibernate Mappings
In this section, you will learn how to do mapping in Hibernate.
In Hibernate, mapping can be done through two ways : through a separate XML or through annotated class. The mapping through annotation is easy to implement and very popular these days. XML mapping or annotation mapping is used for mapping database table to POJO class.
XML Mapping
The sample XML mapping file used for mapping Java class to database table is given below :
Worker.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="net.roseindia"> <class name="Worker" table="worker"> <id name="workerId" column="worker_id"> <generator class="native" /> </id> <property name="firstname" column="firstname" /> <property name="lastname" column="lastname" /> <property name="birthDate" type="date" column="birth_date" /> <property name="cellphone" column="cell_phone" /> </class> </hibernate-mapping>
Mapping through Annotation
The sample class which is mapped through annotation is given below :
Worker.java
package net.roseindia; import java.util.Date; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.OneToOne; import javax.persistence.Table; @Entity @Table(name = "worker") public class Worker { @Id @GeneratedValue @Column(name = "worker_id") private Long workerId; @Column(name = "firstname") private String firstname; @Column(name = "lastname") private String lastname; @Column(name = "birth_date") private Date birthDate; @Column(name = "cell_phone") private String cellphone; public Worker() { } public Worker(String firstname, String lastname, Date birthdate, String phone) { this.firstname = firstname; this.lastname = lastname; this.birthDate = birthdate; this.cellphone = phone; } public Long getWorkerId() { return workerId; } public void setWorkerId(Long workerId) { this.workerId = workerId; } public String getFirstname() { return firstname; } public void setFirstname(String firstname) { this.firstname = firstname; } public String getLastname() { return lastname; } public void setLastname(String lastname) { this.lastname = lastname; } public Date getBirthDate() { return birthDate; } public void setBirthDate(Date birthDate) { this.birthDate = birthDate; } public String getCellphone() { return cellphone; } public void setCellphone(String cellphone) { this.cellphone = cellphone; } }