读书人

hibernate3.2 应用注解(annocation)

发布时间: 2012-09-18 16:21:42 作者: rapoo

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(){
}
}

读书人网 >软件架构设计

热点推荐