steps o2o unidirectional
steps o2o unidirectional
o2o;
import java.io.Serializable;
import jakarta.persistence.CascadeType;
import jakarta.persistence.Entity;
import jakarta.persistence.FetchType;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.OneToOne;
import jakarta.persistence.Table;
@Entity
@Table(name="studento2ouni")
public class Student implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private int studentId;
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
private String name;
@OneToOne(cascade=CascadeType.ALL) //fetch=FetchType.EAGER
@JoinColumn(name="address_id")
private Address address;
package com.insight.o2o;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
@Entity
@Table(name="addresso2ouni")
public class Address {
public Address() {}
@Id
@Column(name="ADDRESS_ID")
@GeneratedValue(strategy=GenerationType.AUTO)
private int addressId;
@Column(name="ADDRESS_STREET")
private String street;
@Column(name="ADDRESS_CITY")
private String city;
@Column(name="ADDRESS_STATE")
private String state;
@Column(name="ADDRESS_ZIPCODE")
private String zipCode;
package com.insight.o2o;
import com.insight.jpaapp.JPAUtil;
import jakarta.persistence.EntityManager;
public class Client {
public static void main(String[] args) {
EntityManager em =
JPAUtil.getEntityManagerFactory().createEntityManager();
em.getTransaction().begin();
Student student = new Student();
student.setName("Deepak Patil");
Address homeAddress = new Address();
homeAddress.setStreet("MG Road");
homeAddress.setCity("Pune");
homeAddress.setState("Maharashtra");
homeAddress.setZipCode("411 017");
//inject address into student
student.setAddress(homeAddress);
}
}