hibernate关于多对多注解配置
2024-10-01 23:30:24
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);
}
最新文章
- 利用exp/imp备份恢复数据库实例
- Random number
- 【REST WCF】30分钟理论到实践
- PowerDesigner15在win7-64位系统下对MySQL反向工程
- 一个前端html模板处理引擎(javascript) - pure
- two day python基础知识
- 如何在WTL和MFC中使用duilib及如何静态使用duilib库!(初级讲解 附带一个Demo)
- USACO3.25Magic Squares(bfs)
- 使用angularjs中ng-repeat的$even与$odd属性时的注意事项
- http之head请求(转)
- 一种快速过VMP3.x调试器虚拟机检测的方法
- php 实现二维数组转字符串 一步到位
- [daily][archlinux][rsync] rsync
- 【C/C++】C语言复习笔记-17种小算法-解决实际问题
- 【日常训练】Help Chef Gerasim(Codeforces 99B)
- print spooler 服务无法启动 打印机全部消失
- WEB安全第一篇--对服务器的致命一击:代码与命令注入
- 图的Tarjan算法
- UML类图组成
- bzoj3211 花神游历各国 线段树,势能分析