jpa findById 不需sql但是 dao integer接口是需要的

impl:
    List<StRiskFireInspect> listFireInspectInformation = stRiskFireInspectRepository.findByPermitId(permitId);

dao integer:
   List<StRiskFireInspect> findByPermitId(String permitId);
   只是不需要写sql  了  !!!!! 这是符合jpa 接口书写规范的

如果是: 其他不适符合jpa  接口要求的
   List<StRiskFireInspect> listFireInspectInformation = stRiskFireInspectRepository.findPermitIdrr(permitId);
   必须在dao integer 写接口和sql
例如:
   @Query("select t3.contentCodeName.codeName ,t2.codeNameCode.codeName ,t4.confirmorSign from StRiskFireInspect t1,StRiskFireInspectType t2,StRiskFireInspectContent t3 , StRiskSign t4  where t1.inspectId=t2.inspectId and t2.inspectTypeId=t3.inspectTypeId and t2.inspectTypeId=t4.businessId and t1.permitId=?1 ORDER BY t3.contentCodeName.codeName,t2.codeNameCode.codeName")

解析:

@Query("select t3.contentCodeName.codeName ,t2.codeNameCode.codeName ,t4.confirmorSign from StRiskFireInspect t1,StRiskFireInspectType t2,StRiskFireInspectContent t3 , StRiskSign t4  where t1.inspectId=t2.inspectId and t2.inspectTypeId=t3.inspectTypeId and t2.inspectTypeId=t4.businessId and t1.permitId=?1 ORDER BY t3.contentCodeName.codeName,t2.codeNameCode.codeName")

这个sql  from  后面是实体类类名,  select 后面也是实体了字段  !!!!!
而且更为重要的是 若:
public class StRiskFireInspect extends EntityBase implements Serializable{
 @JsonIgnore
    @JSONField(serialize = false)
    @NotFound(action = NotFoundAction.IGNORE)
    @JoinColumn(name = "INSPECT_ID", referencedColumnName = "INSPECT_ID")
    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    private List<StRiskFireInspectType> fireinspecttype = new java.util.ArrayList<StRiskFireInspectType>(0);
}
通过   主表字段. 附表字段  也可以这样!!!!!!!! sql 中可以这样写 !!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值