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对象属性