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

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dashuaigege642/article/details/82147415

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")
展开阅读全文

没有更多推荐了,返回首页