首页 > 代码库 > hibernate关于多对多注解配置
hibernate关于多对多注解配置
Game实体类配置关系
@Entity
@Table(name = "game")
public class Game {
@Id
@GeneratedValue
private Integer gid;
private String gname;
@ManyToMany(mappedBy = "games",cascade = CascadeType.ALL)
private Set<Player> players=new HashSet<Player>();
public Integer getGid() {
return gid;
}
public void setGid(Integer gid) {
this.gid = gid;
}
public String getGname() {
return gname;
}
public void setGname(String gname) {
this.gname = gname;
}
public Set<Player> getPlayers() {
return players;
}
public void setPlayers(Set<Player> players) {
this.players = players;
}
}
player实体类配置关系
@Entity
@Table(name = "player")
public class Player {
@Id
@GeneratedValue
private Integer pid;
private String pname;
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "pg",joinColumns = @JoinColumn(name = "pid"),inverseJoinColumns = @JoinColumn(name = "gid"))
private Set<Game> games=new HashSet<Game>();
public Integer getPid() {
return pid;
}
public void setPid(Integer pid) {
this.pid = pid;
}
public String getPname() {
return pname;
}
public void setPname(String pname) {
this.pname = pname;
}
public Set<Game> getGames() {
return games;
}
public void setGames(Set<Game> games) {
this.games = games;
}
}
hibernate.cfg.xml需要配置关联实体类路径
<mapping class="cn.wyd.a.Game"/>
<mapping class="cn.wyd.a.Player"/>
测试类测试数据
@Test
public void test1() {
Game game1 = new Game();
Game game2 = new Game();
game1.setGname("g1");
game2.setGname("g2");
Player player = new Player();
player.setPname("123");
player.getGames().add(game1);
player.getGames().add(game2);
game1.getPlayers().add(player);
game2.getPlayers().add(player);
session.save(player);
}
hibernate关于多对多注解配置
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。