Hi All,
This is a Basic JPA program of one to one mapping Here when i am running the program Primary key of Customer class i.e cid is 1 But ID of Address i.e aid and F.K sid is 2 I want aid and sid to be 1 instead of 2
This is main class
public class Hibernate {
public static void main(
String[] args) {
Configuration cfg=new Configuration();
cfg.configure("hibernate.cfg.xml");
SessionFactory sf=cfg.buildSessionFactory();
Session se=sf.openSession();
Transaction tx=se.beginTransaction();
Customer c=new Customer();
c.setCname("srikant");
Address a=new Address();
a.setState("karnatka");
c.setAdd(a);
se.save(c);
tx.commit();
}}
@Entity
@Table(name="Cust")
public class Customer {
@Id
@GeneratedValue
@Column(name="cid")
private int cid;
private String cname;
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name="sid") // Foreign Key
private Address add;
public int getCid() {
return cid;
}
public void setCid(int cid) {
this.cid = cid;
}
public String getCname() {
return cname;
}
public void setCname(String cname) {
this.cname = cname;
}
public Address getAdd() {
return add;
}
public void setAdd(Address add) {
this.add = add;
}
@Override
public String toString() {
return "Customer [cid=" + cid + ", cname=" + cname + ", add=" + add +
"]";
}
My Address Class
@Entity
@Table(name="Address")
public class Address {
private int aid;
private String state;
@Id
@GeneratedValue
public int getAid() {
return aid;
}
public void setAid(int aid) {
this.aid = aid;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
@Override
public String toString() {
return "Address [aid=" + aid + ", state=" + state + "]";
}
}