JPA 多对多关联查询
来源:互联网 发布:js数组concat 编辑:程序博客网 时间:2024/06/01 17:57
假设有两张表user和goods,中间表为user_goods.
JPA定义
User类:
@ManytoMany(cascade={CascadeType.PERSIST,CascadeType.REFRESH,CascadeType.MERGE)@JoinTable(name="user_goods",joinColumns={@JoinColumn(name="user_id",referencedColumnName="user_id")},inverseJoinColums={@JoinColumn(name="goods_id",referencedColumnName="goods_id")}private Set<Goods> goods=new HashSet<Goods>();
Goods 类
如果goods能不参与表的维护。那么定义为:
@ManyToMany(mappedBy="goods")private Set<User> users=new HashSet<User>();
如果参与维护,那么定义与User类相同。
关联查询:
String hql="select user, goods from User user join user.goods goods where user.user_id='xxxx'";List<Object[]> list=userDao.getUserGoods(hql);for(Object[] object:list){ User user=(User)object[0]; Goods goods=(Goods)object[1]; ...}
select 也可以如下:
select user.username,..., goods.goodtype... from User user join user.goods goods where user.user_id='xxxx'"
以上是内联模式,其他模式同理。
本人新手,方法性能可能比较差,如果更好的办法,烦请告知。
0 0
- JPA 多对多关联查询
- Spring boot jpa 多表关联查询
- JPA多对多双向关联实例
- JPA多对多双向关联
- JPA关联映射 - 多对多映射
- jpa双向多对多关联关系
- JPA多对一单向关联
- JPA之JPA中的多对多双向关联
- JPA对多个字段模糊查询
- SpringData JPA多对一查询
- jpa多关联
- spring data jpa 表不关联多表查询
- JPA开发总结<五>--多对多双向关联
- jpa 双向一对多,多对一关联关系
- JPA一对多,多对一双向关联
- JPA映射关联关系-双向多对多
- JPA映射关联关系-单向多对一
- 多对多关联查询 ManyToMany
- JDK安装与环境变量配置
- 11 第一个特效 12灯泡开关案列 13 找对象 14操作对象
- java 发送邮件
- 用实例来理解IComparable和IComparer
- 浅谈Retrofit封装-让框架更加简洁易用
- JPA 多对多关联查询
- LintCode(easy)不同的路径
- 项目进展
- web.xml中【url-pattern的配置】
- Java 实现复制文本文件的两种方法
- HTTP1.0,1.1与2.0
- 开发app在android6.0运行直接退出解决(二)
- 如何获取数据库表的主键值?
- Spring单实例、多线程安全、事务解析