Many to One Unidirectional Association Mapping Annotation
@ManyToOne(cascade = CascadeType.ALL)
Code
Student.java
package com.candidjava.hibernate; import javax.persistence.CascadeType; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.ManyToOne; import javax.persistence.Table; @Entity @Table(name = "STUDENT") public class Student { private long studentId; private String studentName; private Address studentAddress; public Student() { } public Student(String studentName, Address studentAddress) { this.studentName = studentName; this.studentAddress = studentAddress; } @Id @GeneratedValue @Column(name = "STUDENT_ID") public long getStudentId() { return this.studentId; } public void setStudentId(long studentId) { this.studentId = studentId; } @Column(name = "STUDENT_NAME", nullable = false, length = 100) public String getStudentName() { return this.studentName; } public void setStudentName(String studentName) { this.studentName = studentName; } @ManyToOne(cascade = CascadeType.ALL) public Address getStudentAddress() { return this.studentAddress; } public void setStudentAddress(Address studentAddress) { this.studentAddress = studentAddress; } }
Address.java
package com.candidjava.hibernate;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "ADDRESS")
public class Address {
private long addressId;
private String street;
private String city;
private String state;
private String zipcode;
public Address() {
}
public Address(String street, String city, String state, String zipcode) {
this.street = street;
this.city = city;
this.state = state;
this.zipcode = zipcode;
}
@Id
@GeneratedValue
@Column(name = "ADDRESS_ID")
public long getAddressId() {
return this.addressId;
}
public void setAddressId(long addressId) {
this.addressId = addressId;
}
@Column(name = "ADDRESS_STREET", nullable = false, length = 250)
public String getStreet() {
return this.street;
}
public void setStreet(String street) {
this.street = street;
}
@Column(name = "ADDRESS_CITY", nullable = false, length = 50)
public String getCity() {
return this.city;
}
public void setCity(String city) {
this.city = city;
}
@Column(name = "ADDRESS_STATE", nullable = false, length = 50)
public String getState() {
return this.state;
}
public void setState(String state) {
this.state = state;
}
@Column(name = "ADDRESS_ZIPCODE", nullable = false, length = 10)
public String getZipcode() {
return this.zipcode;
}
public void setZipcode(String zipcode) {
this.zipcode = zipcode;
}
}
save or inserting record into many to one annotation mapping
public void insertStudent(Student bk) {
try {
Session s = getSession();
Transaction transaction = s.beginTransaction();
s.save(bk);
// s.save(b);
transaction.commit();
} catch (HibernateException e) {
e.printStackTrace();
}
}
Get or fetch record from many to one annotation mapping
public Student getStudent(long id) { Student ls = new Student(); try { Session s = getSession(); ls = (Student) s.load(Student.class, id); // System.out.println(ls.size()); } catch (HibernateException e) { System.out.println(e.getMessage()); } return ls; }
Download
Many to one annotation example war
Many to one annotation example zip