基于JPA查询部分字段的相关事项

 更新时间:2021年08月27日 10:50:33   作者:一颗小陨石  
这篇文章主要介绍了JPA查询部分字段的相关事项说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

JPA查询部分字段相关事项

JPA使用HQL查询部分字段出错

org.hibernate.hql.internal.ast.QuerySyntaxException: XXX is not mapped

解决

应该@Entity指定name名,name值为对应表名,同@Table的name值相同

使用HQL的注意

1.想要使用JPA查询部分信息,需要使用HQL

2.select需跟实体,可以是map(必须是小写,大写试了下报错),或者是将待查询的字段单独封装成一个实体,new 实体

3.查询的字段中需要指定as别名,否则得到的map结果集中,key值默认是"0",“1”,“2”…数字

JPA中自定义查询语句一定要注意这些

JPA的原生语句如何支持where a=X and b>x,未找到。

于是自定义,由于JPA底层是hibernate,所以需要HQL语句。

真尼玛坑,sql语句为了所谓的面向对象,整个HQL语句,简直就是典型的强行面向对象。

所以,你不得不如此:select u from Table u where u.x=x and u.y>y

每次写这个最常忘记的是第二个u,完全反人类的语法。

而且JPA解析的时候,Table必须大写开头。

这个估计是先要JPA解析成HQL语句,再执行。

至于为啥要大写开头,可能是由于JPA的规定吧。

JPA会把TableEnt对应到table_ent这张表,为什么写成tableEnt就要报错。太不人性化。

补充

CTM,JPA查询语句中把元素开头写成了小写。

findByStatusAndTimeMilliLessThan写成了findByStatusAnd**t**imeMilliLessThan

这还是看到之前写的附带between的查询才想起来

然between可以混着写,那less和greater应该也行

也是被JPA的语法坑过几次,才会对JPA这么没信心。

比如:findFirst必须写成findFirstBy

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring Boot访问静态资源css/js,你真的懂了吗

    Spring Boot访问静态资源css/js,你真的懂了吗

    在搭建springboot时经常需要在html中访问一些静态资源,很多朋友不清楚如何在 Spring Boot中访问静态资源,本文给大家带来两种解决方案,感兴趣的朋友跟随小编一起看看吧
    2021-05-05
  • java 创建线程的方法总结

    java 创建线程的方法总结

    这篇文章主要介绍了java 创建线程的方法总结的相关资料,需要的朋友可以参考下
    2017-03-03
  • IDEA自定义setter和getter格式的设置方法

    IDEA自定义setter和getter格式的设置方法

    这篇文章主要介绍了IDEA自定义setter和getter格式的设置方法,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧
    2023-12-12
  • Java进阶知识之反射的概念与获取方法

    Java进阶知识之反射的概念与获取方法

    这篇文章主要给大家介绍了关于Java进阶知识之反射的概念与获取方法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • Springboot集成RabbitMQ死信队列的实现

    Springboot集成RabbitMQ死信队列的实现

    在大多数的MQ中间件中,都有死信队列的概念。本文主要介绍了Springboot集成RabbitMQ死信队列的实现,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Java的Struts2框架中拦截器使用的实例教程

    Java的Struts2框架中拦截器使用的实例教程

    拦截器是Struts框架的重要特性,Struts中每一个Action请求都包装在一系列的拦截器的内部,这里我们就来看一下Java的Struts2框架中拦截器使用的实例教程
    2016-07-07
  • 自定义类加载器的父类为何是AppClassLoader说明

    自定义类加载器的父类为何是AppClassLoader说明

    这篇文章主要介绍了自定义类加载器的父类为何是AppClassLoader说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • 如何使用Java完成Socket通信

    如何使用Java完成Socket通信

    这篇文章主要介绍了如何使用Java完成Socket通信问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • Java JDK11基于嵌套的访问控制的实现

    Java JDK11基于嵌套的访问控制的实现

    这篇文章主要介绍了Java JDK11基于嵌套的访问控制的实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • Springboot在有参构造方法类中使用@Value注解取值

    Springboot在有参构造方法类中使用@Value注解取值

    这篇文章主要介绍了Springboot在有参构造方法类中使用@Value注解取值,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06

最新评论