Spring Boot开发中Jpa相关内容
1.sort排序出现了首字母小写的问题
在使用jpa进行分页查询的时候,需要传入一个Sort对象,这个Sort对象接受一个参数properties,指定所要排序的字段。
1 |
|
我这里写了SiteNo,但是在执行这个方法时,出现了错误:没有这个属性。
而且我明明配置了命名规则:
在实体类中也添加了相应的属性
1.SpringBoot Jpa使用时碰到的问题总结一
2.hibernate命名策略spring.jpa.hibernate.naming-strategy不起作用
3.PageRequest constructors have been deprecated
4.Spring Data JPA Unable to locate Attribute with the the given name (这里建议我将首字母改为小写)
5.SpringBoot Jpa使用时碰到的问题总结二
6.Spring data jpa sort多属性排序问题
7.SpringBoot2(五):Spring Data JPA 使用详解 (这篇文章讲的很多,从数据获取,原理解释,以及示例代码,可以作为一个JPA入门文章详细阅读了)
2.findOne
Jpa中可以使用findAll()返回List类型的列表,但是如果要获取一个怎么办呢?findById?还有一个是findOne()函数。
这个findOne函数的参数有点奇怪。
1 | Config config=new Config(); |
还不如直接getOne()来的实在,一句话就搞定了。
1 | Config c=configRepo.getOne(1L); |
1.SpringBoot关于JPA中关于查询findOne和findById
2.SpringBoot关于SpringDataJpa中findOne()方法报错问题
3.findOne方法是findOne(Example
4.Java 8 Optional 类
5.Can’t use method findOne() in Spring boot
3.RecordTime问题
我的数据库中数据表有一个字段名为RecordTime
所以我的实体类中也有一个RecordTime
但是我使用jpa进行查询的时候,最后却没有这个属性,有出现了一个recordTime属性。
最后的解决方法,添加了一个@Column注解
1 |
|
但是这个recordTime还是存在。
1.spring boot 中请求数据库返回时间不一致解决方案
2.SpringBoot集成Spring Data JPA保存和返回时间比北京时间早8小时
3.Springboot JPA :Date 类型的日期时间,怎么在前台显示为格式化的日期时间
4.jpa返回的数据相同
第一种方法,尽量讲@Id注解到不重复的字段上
使用jpa查询数据的时候,返回的内容都是相同的。
我的数据库中没有主键,但是我又不能在数据库中添加主键。
解决方法,添加一个空的主键,但是这个@Id注解最好注解到一个很少重复的属性上,否则也会出现查询的数据都是相同的。如下图,当我注解到sectionId上,那么查询出的数据都是重复的。
注解到RecordTime上,就会出现的数据全部都是重复的,但是无论是sectionId和RecordTime都不是主键。
sectionId和RecordTime都有部分的重复,但是RecordTime的重复率较低。
1.jpa查询数据长度正常,内容都是重复的,mysql数据库运行查询语句结果正常
2.JPA查询List ID相同导致 返回List与数据库查询结果不一致 的问题 (当我完成了第二种方法,再回过头来看这篇文章,终于理解了其中的方法,我的方法是使用的自动生成的行号,但是这篇文章使用的是最大id的方法,我觉得原理也都是差不多的)
3.hibernate 无主键表映射
4.没有主键的表的JPA实体
5.jpa查询记录重复 (这里提到了会不会是主键的问题,我查询了自己的数据库,确实没有主键)
6.java - JPA / Hibernate select查询返回重复记录 (这篇文章讲了是因为@Id属性放置错误)
7.JPA Primary Key (这里讲了主键的类型有哪些)
8.Spring data jpa 查询出来的数据总是重复
9.java-没有ID的JPA实体 (这个也没有说明白,明明没有主键,他还猜有一个复合主键,不是我们需要的解决方案)
10.JPA entity for a table without primary key (这里提到的问题倒是很像我的,但是回答问题的人总是答不到电子上,说什么查询的时候不影响之类的,但是我的明明就已经影响了啊。)
11.Hibernate and UUID identifiers (这个有点没看懂,这是讲如何生成uuid为主键的方法吗)
修改查询语句,自动生成一个id
可以修改查询语句,自动生成一个id。我数据库中没有id字段
1 | // 实体类 |
查询语句,使用原生的sql查询,生成一个id号,或者是使用newId()函数生成uuid,但是这样的问题,就是会出现查询时很慢的情况。
1 | public interface SecHisRepository extends JpaRepository<SecHis,Long> { |
1.Returning a subset of rows
2.SQL Server ROW_NUMBER Function
3.sqlServer 生成UUID方法 (使用newId()方法生成uuid)
4.sql server 中如何获取表的当前行所在的行数,谢谢
5.Hibernate实体类注解中如何忽略某些字段的映射 (使用@Transient忽略某些字段的映射)
6.Hibernate实体类注解中忽略某些字段的映射