可移植的JPQL语句

JPA中对象关联方式查询对象数据查询到的是所有的列,效率低,不适合实际开发。
JPQL(JPQL全称Java Persistence Query Language)语句可以解决多表查询操作,直接指定需要查询的表(实体类)+列(属性)
JPQL的查询效率没有SQL语句效率高,它的优势也是原生的SQL语句无法做到的,那就是JPQL作为被封装的面向对象的对数据库的操作,它可以根据不同的数据库灵活切换不同的SQL语句进行数据库操作。
浅谈基本操作
1.查询所有信息

@Query("from 实体类完全限定名")

2.查询部分信息 返回List<Object[]>

@Query("select vid,vname from 实体类完全限定名")

3.查询部分信息反回实体类对象 实体类中必须有按照顺序的有参构造和无参构造

@Query("select new 实体类完全限定名(vid,vname) from 实体类完全限定名")

4.模糊查询 service在调用dao层的时候参数后+% 执行SQL语句的条件必须和参数列表中参数别名相匹配 (@Param(“vname”) String vname)

@Query("select new 实体类完全限定名(vid,vname) "
		+ " from 实体类完全限定名"
		+ " where vname like :vname")

5.关联查询 每个字段前必须+表别名

@Query("select v.vid,v.vname,o.total,o.remark from实体类完全限定名 "
		+ " v inner join"
		+ " 实体类2完全限定名 o on v.vid=o.vip.vid")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值