hibernate多对多注解式开发
来源:互联网 发布:linux设置静态ip不生效 编辑:程序博客网 时间:2024/05/28 03:01
@Entity //实体@Table(name = "Game") //表名public class Game { @Id //指定主键 @GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "sql_Game") //主键生成策略 @SequenceGenerator(name="sql_Game",sequenceName = "sql_Game",allocationSize = 1,initialValue = 1) //声明主键的生成策略 private Integer gid; @Column private String gname; @ManyToMany(cascade = CascadeType.ALL) //指定多对多的关系,同时设置级联 //制定第三张表,指定本表与中间表的外键对应,另一张表与第三张表的外键的对应关系 @JoinTable(name="PG",joinColumns = {@JoinColumn(name = "gid")},inverseJoinColumns = {@JoinColumn(name = "pid")}) private Set<Player> player=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> getPlayer() { return player; } public void setPlayer(Set<Player> player) { this.player = player; }}
@Entity@Table(name = "Player")public class Player { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE,generator = "sql_Play") @SequenceGenerator(name="sql_Play",sequenceName = "sql_Play",allocationSize = 1,initialValue = 1) private Integer pid; @Column private String pname; @ManyToMany(cascade = CascadeType.ALL,mappedBy = "player") private Set<Game> game=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> getGame() { return game; } public void setGame(Set<Game> game) { this.game = game; }}
@Test public void test01(){ Game game1=new Game(); game1.setGname("CS"); Game game2=new Game(); game2.setGname("C#"); Player player1=new Player(); player1.setPname("吃鸡"); Player player2=new Player(); player2.setPname("王者荣耀"); game1.getPlayer().add(player1); game1.getPlayer().add(player2); game2.getPlayer().add(player1); game2.getPlayer().add(player2); player1.getGame().add(game1); player1.getGame().add(game2); player2.getGame().add(game1); player2.getGame().add(game2); session.save(game1); session.save(game2); tx.commit(); System.out.println("ok!"); }
只需要在主表做级连就可以了,上面的代码只是简单的测试 。
阅读全文
0 0
- hibernate多对多注解式开发
- hibernate多对多注解开发实例
- hibernate 多对一注解
- hibernate之多对多注解
- hibernate 一对多注解开发
- hibernate 注解实现多对多
- hibernate 注解 多对多配置
- hibernate 双向多对多 注解
- hibernate 双向多对多 注解
- hibernate[注解]实现[多对多]关系
- Hibernate多对多注解配置实例
- hibernate多对多注解配置
- Hibernate双向多对多 注解方式
- hibernate多对多注解配法
- Hibernate注解多对一关联关系
- Hibernate多对多级联 注解
- Hibernate之一对多(注解实现)
- Hibernate双向多对一(注解)
- hdu 2082 找单词(二维01背包)
- Java static修饰属性(类变量)、static修饰方法(类方法)
- C++三大特性--继承
- discuzX 论坛列表页获取帖子内容页主题的pid
- HDU 2722:Here We Go(relians) Again
- hibernate多对多注解式开发
- DBCC CHECKDB修复异常表
- HDU 1213 How Many Tables [并查集]
- Node.js安装配置
- 第五周——项目一 自建算法库 “顺序栈”
- cocos creator学习(十四) websocket、onfire
- ST17H26移植软时钟代码
- 七月算法强化学习 第三课 学习笔记
- selenium自动化学习之元素查看