springboot+jpa的坑

1.连数据库报The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone

配置文件url加上"serverTimezone=GMT%2B8":
jdbc:mysql://localhost:3306/ppc?characterEncoding=utf-8&useSSL=false&serverTimezone=GMT%2B8

2.jpa Unknown column 'menu0_.parent_id' in 'field list'

table实体类中的字段在表中找不到,注意大小写,大写会被替换成'_';

如:字段 parentId会被写成parent_id 表中的列也必须是parent_id

3.Table 'ppc.hibernate_sequence' doesn't exist

背景:

springboot 1.5.9.RELEASE 升级至 2.0.5.RELEASE时,spring-boot-starter-data-jpa使用了hibernate5:

解决方法:

spring.jpa.hibernate.use-new-id-generator-mappings=false 或 在主键上加@GeneratedValue(strategy = GenerationType.IDENTITY)

mysql表字段id设置为自增;`id` INT(11) NOT NULL AUTO_INCREMENT

4.org.hibernate.LazyInitializationException: could not initialize proxy ----- no Session

在实体类上加@Proxy(lazy=false)

5.@DynamicUpdate、@DynamicInsert
放在table对应的bean上,(@DynamicInsert)插入时时间为空的情况下时间字段不插入null,(@DynamicUpdate)动态更新数据库信息,查询出的对象的时间为之前存储时间,不做修改的情况下更新对象,更新时间不会改变,需要加上此注解
引用lombak
6.@Data放在实体类上省去写set、get、toString方法
7.lambda表达式 
8.BeanUtils.copyProperties copy Bean对象属性

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值