Hibernate对象关系映射总结
客户不知道自己有什么订单因为是单向关联
public class Order implements Serializable{ private long id; private String orderNumber; private Customer customer; public Order(){}}………………………………….}@Entity@Table(name="t_jpa_user1") public class User1{ private int id; private String name; private Group1 group;@ManyToOne public Group1 getGroup(){ return group;}}@Entity@Table(name="t_jpa_user1") public class User1{ private int id; private String name; private Group1 group;@ManyToOne@JoinColumn(name="group_id88888") public Group1 getGroup(){ return group;} public void setGroup(Group1 group){ this.group= group;}@Id@GeneratedValue
public class Customer implements Serializable{ private long id; private String name; pri
vate String address; public Customer(){};}………………………………….}@Entity@Table(name="t_jpa_group1") public class Group1{ private int id; private String name;}
下面的注解方式更加明确这里是单向关联:从多方指向一方:也就是对应数据库的从表去访问主表。此时从表必须有主表的外键关联才能找到主表记录。所有从表要加入外键关联:并且这里还特别定义了外键名称。 group_id88888这里的@JoinColumn注解是可选的,如果没有这个注解,关联字段默认值为:关联属性名+下划线+被关联端的主键列名(group_id)
一对一和多对一的@JoinColumn注解的都是在主控方(多的一方),都是对方表的主键在这里做外键