区块链技术博客
www.b2bchain.cn

休眠条件投影别名未使用 – java程序员分享

本文介绍了休眠条件投影别名未使用 – java程序员分享,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

Hibernate Projection别名甚至可以工作吗?我可以发誓就是没有。至少,它并没有达到我的预期。

这是java:

return sessionFactory.getCurrentSession()     .createCriteria(PersonProgramActivity.class)     .setProjection(Projections.projectionList()         .add(Projections.alias(Projections.sum("numberOfPoints"), "number_of_points"))         .add(Projections.groupProperty("person.id")))     .setFirstResult(start)     .setFetchSize(size)     .addOrder(Order.desc("numberOfPoints"))     .list(); 

这是它生成的SQL:

select     sum(this_.number_of_points) as y0_,     this_.person_id as y1_ from     PERSON_PROGRAM_ACTIVITY this_ group by     this_.person_id order by     this_.number_of_points desc 

它似乎根本不使用别名。我认为设置别名将意味着sum(this_.number_of_points)将被别名为number_of_points而不是y0_。我缺少一些技巧吗?

谢谢。

参考方案

您需要为整个条件指定一个别名,然后您可以创建其他实际使用的别名。奇怪的是,别名被转换为y0_而不是其他方式。

return sessionFactory.getCurrentSession()     .createCriteria(PersonProgramActivity.class, "ppa")     .setProjection(Projections.projectionList()         .add(Projections.alias(Projections.sum("numberOfPoints"), "ppa.numberOfPoints"))         .add(Projections.groupProperty("person.id")))     .setFirstResult(start)     .setFetchSize(size)     .addOrder(Order.desc("ppa.numberOfPoints"))     .list(); 

生成以下SQL:

select     sum(this_.number_of_points) as y0_,     this_.person_id as y1_ from     PERSON_PROGRAM_ACTIVITY this_ group by     this_.person_id order by     this_.y0_ desc 

我很好奇我的下一个项目完全使用架构导出。我认为这是真正处理对象而非基础数据库的非常有用的方法。只需创建并注释模型,然后将其导出即可。但是从先创建表然后创建模型对象的习惯来看,我对完全使用模式导出有疑问。这主要是因为我真的很深入休眠。但是我仍然好奇使用模式导出时,该区域列表是否会成为问题。请分享您的经验..表之间的关系代理/复合主键支持当我只想从多个模型中导出…

在Java中,我们是否有任何方法可以发现特定字符串是字符串数组的一部分。我可以避免出现一个循环。例如String [] array = {"AA","BB","CC" }; string x = "BB" 我想要一个if (some condition to tell wheth…

因此,在使用Scanner类从文件读取内容时,我遇到了一个有趣的问题。基本上,我试图从目录中读取解析应用程序生成的多个输出文件,以计算一些准确性指标。基本上,我的代码只是遍历目录中的每个文件,并使用扫描仪将其打开以处理内容。无论出于何种原因,扫描程序都不会读取其中的一些文件(所有UTF-8编码)。即使文件不是空的,scanner.hasNextLine()在…

我的模式类似于OR:“word1 | word2 | word3”我大约有800个字。可能有问题吗? 参考方案 您仅受记忆和理智的限制。 🙂

试图绕过Java并发问题,并且很难理解线程池,线程以及它们正在执行的可运行“任务”之间的关系。如果我创建一个有10个线程的线程池,那么我是否必须将相同的任务传递给池中的每个线程,或者池化的线程实际上只是与任务无关的“工人无人机”可用于执行任何任务?无论哪种方式,Executor / ExecutorService如何将正确的任务分配给正确的线程? 参考方案 …

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 休眠条件投影别名未使用 – java程序员分享
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们