hibernate3.2 使用注解(annocation) 对映射关系的基本写法

hibernate3.2映射关系(只是基本的关联关系,详细配置需再自行扩展配置,手写的,没实践,如果有问题,请多谢提出!)

以Group - User 为例说明

1.一对多单向关联
Group{
  @OneToMany
  @JoinColum(name="group_id")// user中生成的数据库字段名
  public Set<User> getUser(){
  }
}

2.多对一单向关联
User{
  @ManyToOne
  public Group getGroup(){
  }
}

3.一对多和多对一双向关联
Group{
  @OneToMany(mappedBy="group")// user类中的group属性
  public Set<User> getUser(){
  }
}
User{
  private Group group;
  @ManyToOne
  public Group getGroup(){
  }
}

4.多对多单向关联
Group{
  @ManyToMany
  @JoinTable(name="g_u",
  joinColumns={@JoinColum(name="group_id")},
  inverseJoinColumns={@JoinColumn(name="user_id")})
  public Set<User> getUser(){
  }
}
或者
User{
  @ManyToMany
  @JoinTable(name="g_u",
  joinColumns={@JoinColum(name="user_id")},
  inverseJoinColumns={@JoinColumn(name="group_id")})
  public Set<Group> getGroup(){
  }
}

5.多对多双向关联
Group{
  private Set<User> users;

  @ManyToMany
  @JoinTable(name="g_u",
  joinColumns={@JoinColum(name="group_id")},
  inverseJoinColumns={@JoinColumn(name="user_id")})
  public Set<User> getUser(){
  }
}
User{
  @ManyToMany(mappedBy(name="users"))
  public Set<Group> getGroup(){
  }
}

你可能感兴趣的:(hibernate3)