日期:2014-05-17  浏览次数:20694 次

JPA问题
用JPA实现,两个数据表关联,使用一个主键。

请高手帮忙!着急。。。。

------解决方案--------------------
楼主说的是多对多吗?
还是怎么样
------解决方案--------------------
有很多中啊,一对一主键关联,一对一外键关联,一对多单向、双向,多对多双向。
我先给你一个最简单的一对一单向关联关系:用户表-用户信息表
@Entity
@Table(name="tb_users")
public class User{
@Id
@Column(name="user_id")
private Integer userId;
 
@Column
private String pwd;

@OneToOne
@JoinColumn(name="user_info_id", referencedColumnName='info_id',updatetable=false)
private UserInfo userInfo;
...
}

@Entity
@Table(name="user_info")
public class UserInfo{
@Id
@Column(name="info_id")
private Integer infoId;
...
}

这两个表是一个简单的一对一外健单向关联关系。。网上也有相类是的,你可以耐心的找一找。
------解决方案--------------------
在 实体类 里面 加 SET 集合 就可以了。数据库表中别做关联关系。用实体类来维护关联关系即可

如 : Gmenu 中 private Set<GuserMenu> gusermenus = new HashSet<GuserMenu>(0);

@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "gmenu")
public Set<GroleMenu> getGrolemenus() {
return grolemenus;
}

public void setGrolemenus(Set<GroleMenu> grolemenus) {
this.grolemenus = grolemenus;
}