Spring Data JPA踩坑记录(@id @GeneratedValue)

目录
  • Spring Data JPA踩坑记录
  • JPA踩坑:No property xxx found for type xxx
    • 问题发现
    • 问题解决

Spring Data JPA踩坑记录

最近在做自己的一个项目时 使用了spring jpa

由于数据库用的是mysql 在给实体类entity 的id给注解时@Id遇到了一个坑 自己找了许久才在stackoverflow 上找到了答案

注意 再查询数据库的时候并不会因此报错 而当你的主键是自增的时候 在添加数据的时候就会报错了

看看我们的实体类

注意id

原因是id jpa默认是auto的策略 也就是主键序列化 而mysql是不支持的 oracle支持的 所有在添加的时候才会报错

所以我们要主动设置id的策略

这是坑 特意写出来 让大家(主要是使用jpa新手)不用像我一样踩坑了 注意了

JPA踩坑:No property xxx found for type xxx

问题发现

今天调试一段代码的时候发现有个报错很奇葩。

接口报错:

{
    "errorCode": "01",
    "errorMessage": "服务器出错",
    "returnObject": [
        "Parameter value [1531421824] did not match expected type [java.util.Date (n/a)]; nested exception is java.lang.IllegalArgumentException: Parameter value [1531421824] did not match expected type [java.util.Date (n/a)]"
    ]
}

后台一直报错:

org.springframework.data.mapping.PropertyReferenceException: No property xxxx found for type Xxxx

问题解决

最后发现是同事写JPA@Repository的时候,@Query里面的东西写错了

//这个是错误的,里面是value不是name=。=尴尬
@Query(name="select * from gene_info where  to_days(createtime )= to_days( FROM_UNIXTIME( '?1' ) ) ",nativeQuery=true)
    List<GeneInfo> findAll(String createtime);
//正确的是@Query(value=" xxx",nativeQuery=true)
@Query(value="select * from gene_info where  to_days(createtime )= to_days( FROM_UNIXTIME( '?1' ) ) ",nativeQuery=true)
    List<GeneInfo> findAll(String createtime);

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

(0)

相关推荐

  • 基于spring data jpa @query返回map的踩坑记录

    目录 spring data jpa @query返回map踩坑记录 设置JPA的Query返回Map对象 spring data jpa @query返回map踩坑记录 最近用spring data jpa,网上看的一些教程,有的说是返回的Object[]数组,有的说是直接返回的对象,亲身验证了一下,发现主要看写法和返回结果. 用的版本是这样的: dao代码如下: public interface UserRepository extends JpaRepository<User, Integ

  • 使用Spring Data JPA的坑点记录总结

    前言 Spring-data-jpa的基本介绍:JPA诞生的缘由是为了整合第三方ORM框架,建立一种标准的方式,百度百科说是JDK为了实现ORM的天下归一,目前也是在按照这个方向发展,但是还没能完全实现.在ORM框架中,Hibernate是一支很大的部队,使用很广泛,也很方便,能力也很强,同时Hibernate也是和JPA整合的比较良好,我们可以认为JPA是标准,事实上也是,JPA几乎都是接口,实现都是Hibernate在做,宏观上面看,在JPA的统一之下Hibernate很良好的运行. 最近在

  • Spring data jpa @Query update的坑及解决

    目录 Springdatajpa@Queryupdate的坑 可以参考这个例子 Springdatajpa的update操作 1.调用保存实体的方法 2.@Query注解,自己写JPQL语句 Spring data jpa @Query update的坑 jpa默认只有save(Entity)方法,如果数据库中没有记录就新增,如果数据库中有记录就更新记录. 如果要手动添加update(Entity)方法, 可以参考这个例子  @Modifying  @Query(value = "UPDATE

  • Spring Data JPA踩坑记录(@id @GeneratedValue)

    目录 Spring Data JPA踩坑记录 JPA踩坑:No property xxx found for type xxx 问题发现 问题解决 Spring Data JPA踩坑记录 最近在做自己的一个项目时 使用了spring jpa 由于数据库用的是mysql 在给实体类entity 的id给注解时@Id遇到了一个坑 自己找了许久才在stackoverflow 上找到了答案 注意 再查询数据库的时候并不会因此报错 而当你的主键是自增的时候 在添加数据的时候就会报错了 看看我们的实体类 注

  • 详解spring cloud feign踩坑记录

    1:多客户端时,feign接口抽取到公共jar中,此时,客户端的启动类上需要对该jar中feign所在的包进行扫描,要在spring和feign中同时注册,否则启动时会报:"Consider defining a bean of type '******Feign' in your configuration." @SpringBootApplication @EnableTransactionManagement @EnableDiscoveryClient @ComponentSc

  • 详解Spring的StringUtils踩坑记录

    起因 最近在写CRUD的时候,发现有个分页的VO写的健壮性比较差,一时手痒改了一下,没想到改了之后好几个功能都出现了问题. 原VO关键代码如下: public class PageVo implements Serializable{ // ...省略所有无关代码 Map<String, String> query } 这个VO是用于从前端分页查询时传参,而query是用于传递查询条件的(这里不讨论用Map传参是否合理).当前端无查询条件时则会导致query为null,如果不注意容易出现NPE

  • Spring Boot统一返回体的踩坑记录

    前言 在Spring Boot项目中我们可以通过RestControllerAdvice配合实现ResponseBodyAdvice<T>接口来保证Spring MVC接口具有统一的返回格式,以保证前端同学能够封装统一的数据接收工具.但是很多网上的文章并没有对实际开发中的细节作出更多的讲解.今天胖哥就来分享一下我的采坑经历,也算作一个总结. 控制作用范围 我记得在前面关于Swagger3的文章中提过,如果我们不指定范围将导致Swagger无法识别接口的元信息.因此如果你使用了Swagger必须

  • 聊聊Spring data jpa @query使用原生SQl,需要注意的坑

    目录 Spring data jpa @Query 使用原生Sql的坑 根据代码来解说: 需要注意的方法有以下几点 SpringData JPA @Query动态SQL语句 思路 实现 Spring data jpa @Query 使用原生Sql的坑 根据代码来解说: @Query(value = "select bill.id_ as id, bill.created_date as date, bill.no, lawyer_case .case_no as caseNo, " +

  • 关于spring data jpa 模糊查询like的坑点

    目录 spring data jpa 模糊查询like坑点 spring data jpa like 查询问题 spring data jpa 模糊查询like坑点 在 ServiceImpl 中 调用, 不要忘记 % factoryinfoDao.findByFactorynameLike("%"+input+"%") spring data jpa like 查询问题 在使用Spring Data Jpa Like时 在继承JpaRepository的一个接口中

  • 记录一个使用Spring Data JPA设置默认值的问题

    目录 Spring Data JPA设置默认值的问题 一开始经过百度,写法是这样的 于是改了第二版 在大佬的指点下,有了第三种写法 Jpa设置默认值约束 1.修改建表时的列定义属性 2.通过Hibernate(org.hibernate.annotations.ColumnDefault) Spring Data JPA设置默认值的问题 我有一个entity实体,其中里面有一个布尔类型的字段: //entity table注解略 public class TableEntity { privat

随机推荐