JPA多表查询 自写SQL

JPA操作SQL的几种方式

最近在使用Jpa写项目,随便记录一下几种操作SQL的方式,以下是我用的的几种方式。

第一种继承CrudRepository 直接用它里面的方法 如添加:

/*
  * 添加 setYlfwjgid((long) 1) 默认医疗机构1
  */
 @Transactional
 public void saveGhhl(MzGhhl mzGhhl) {
   
       Long id = idGeneratorUtil.generatorId(mzGhhl);
       SessionUser sessionUser = SessionUtil.getSessionUser();
       mzGhhl.setYlfwjgid(Long.valueOf(sessionUser.getYlfwjgid()));
       mzGhhl.setAid(id);
       mzGhhl.setSid(id);
       mzGhhl.setJlzt(1);
       if ("".equals(mzGhhl.getPym())) {
   
         mzGhhl.setPym(hzzkService.getPym(mzGhhl.getMc()));
       }
       if ("".equals(mzGhhl.getWbm())) {
   
         mzGhhl.setWbm(hzzkService.getWbm(mzGhhl.getMc()));
       }
        mzGhhlRepository.save(mzGhhl);
 }

mzGhhlRepository继承了CrudRepository直接调用Save方法并传入对象即可。
还有一种方式就是自己在Repository写SQL如


@Modifying
    @Query(value = "update MzGhlb set jlzt = 0  where sid in (?1)")
    void removeById(Long sid);
 

@Query(value=“SQL语句”)
不过有些时候使用源代码所提供的方法不能达到自己的需求,如多表查询

public List findAll(RequestMessageTemplete reqt) throws Exception 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值