关于新手Spring Data Jpa开发中容易遇到的小问题

11 篇文章 0 订阅

1.使用 Spring Data Jpa建立数据访问层时报错
报错信息如下:
Invalid derived query! No property userName found for type PMS_User! Did you mean ‘username’?
这里写图片描述
大意是指这个搜索没有对应的属性,百度了下,有些网友说只要关闭eclipse中Window-Preferences,然后再搜索Spring关闭Invalid derived query验证即可,这确实能消除当前报错,但是治标不治本啊~~~根据错误提示,应该是当前的实体类里没有userName字段,只有username字段,因此,方法名应该为findByUsername 至于为何这样命名,大家可以去查询下Jpa如何定义查询方法

2.数据库字段类型映射到java类型时报错

Caused by: org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: wrong column type encountered in column [username] in table [pms_user]; found [nvarchar2 (Types#OTHER)], but expecting [varchar2(255 char) (Types#VARCHAR)]

因为String类型默认映射的是varchar,nvarchar2 可以通过columnDefinition额外指定,

@Column(name = "USERNAME",columnDefinition = "nvarchar2")

3.忘记标识主键

Caused by: org.hibernate.AnnotationException: No identifier specified for entity: tuwei.qcserver.entity.PMS_User

这个很简单,只要在对应字段上加上@Id即可。Hibernate中,一定要有主键。

另外,若是通过Spring Boot Test进行测试,不要忘记了扫描实体和dao层

@EntityScan("com.smart.entity")
@EnableJpaRepositories("com.smart.commondao.repository")
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值