Hibernate Classes

In this section, you will learn about persistent classes in Hibernate.

Hibernate Classes

Hibernate Classes

In this section, you will learn about persistent classes in Hibernate.

Persistence classes are the POJO classes which is used to implement  entity of the business logic. (For example, Employee or Department in a payroll application).

After the addition of annotation, you don't need mapping XML file, you can directly do the mapping in the same entity class as given below :

package net.roseindia;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

public class User {
private Long id;

private String name;

private String password;

private String gender;

private String country;

private String aboutYou;

private Boolean mailingList;

@Id
@GeneratedValue
@Column(name = "USER_ID")
public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

@NotNull
@Size(min = 1, max = 50, message = "username must between 1 to 50 characters")
@Column(name = "USER_NAME", nullable = false, length = 50)
public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

@Size(min = 6, max = 10, message = "password must between 6 to 10 characters")
@Column(name = "USER_PASSWORD", nullable = false, length = 10)
public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

@NotNull(message = "Please select a gender")
@Column(name = "USER_GENDER")
public String getGender() {
return gender;
}

public void setGender(String gender) {
this.gender = gender;
}

@NotNull(message = "Please select a country")
@Column(name = "USER_COUNTRY")
public String getCountry() {
return country;
}

public void setCountry(String country) {
this.country = country;
}

@NotNull
@Size(max = 100)
@Column(name = "USER_ABOUT_YOU", length = 100)
public String getAboutYou() {
return aboutYou;
}

public void setAboutYou(String aboutYou) {
this.aboutYou = aboutYou;
}

@Column(name = "USER_MAILING_LIST")
public Boolean getMailingList() {
return mailingList;
}

public void setMailingList(Boolean mailingList) {
this.mailingList = mailingList;
}
}

In the above example, you can see that the mapping and validation,both ,are done together using annotation.