微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

HQL / JPQ在其中where部分使用访存

如何解决HQL / JPQ在其中where部分使用访存

使用这样的代码

apiVersion: apps/v1
kind: Deployment
Metadata:
  name: blue
spec:
  replicas: 6
  selector:
    matchLabels:
      run: Nginx
  template:
    Metadata:
      labels:
        run: Nginx
    spec:
      containers:
      - image: Nginx
        imagePullPolicy: Always
        name: Nginx
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeselectorTerms:
            - matchExpressions:
              - key: color
                operator: In
                values:
                - blue

我应该使用“ fetch”从懒惰的实体获取someFiled还是Hibernate / Jpa / Spring Data / God会为我做到这一点?

解决方法

摆出查询的位置不是必需的,您可以执行以下操作:

df1 = (df.assign(new = df.user_answer.eq(df.correct_answer))
         .groupby('name').agg(mean_time = ('time','mean'),score=('new','sum'))
         .reset_index())
print (df1)
    name  mean_time  score
0    ali  76.333333      3
1  alice  65.750000      1
2    bob  69.166667      5
3   moji  89.500000      1

并指示在执行查询时返回的类具有构造器的pojo,该构造器的顺序和类型与select子句的参数相匹配,如下所示:

@Query("select se.id,ao.id,l.id from someEntity se"
+ " inner join se.anotherOne ao"
+ " inner join se.lazyOne l"
+ " where l.someField = true")

例如,如果您想为您提供一些带有其lazyOne属性的someEntity实体列表,则使用fetch

public YourPojo(Long idSomeEntity,Long idAnotherOne,Long idLazyOne){
    //Object construction
}
,

这取决于。如果您加入了FETCH惰性字段,则休眠状态将不会运行其他查询来稍后再获取。否则,访问该字段时,休眠将不得不查询数据库。更多的是优化。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。