1在使用条件查询hql拼接语句时注意使用
select t from Job t where 1=1,后面的where 1=1 一定要加上,hql语句的左右两边的空格留出来
2在@Entity注解标注的类中,添加自定义字段必须加上@Transient(最好添加在get方法上)注解进行忽略。
3在jpa多对一操作中
要执行1,2的操作,必须加上3,4的注解,否则编译报错
1.2的操作主要是对外键进行维护。
特别注意:@Column本身支持在成员属性注解,但是执行1,2操作那么@Column必须标注在get方法上。否则编译报错。
4项目中使用hibernate懒加载时注意返回前段json数据时会导致josn解析失败,或者数据无限循环,参考https://blog.csdn.net/u011642663/article/details/46279475;
5could not execute statement; SQL [n/a]; constraint [null]; nested exception is org.hibernate.exception.ConstraintViolationException: could not execute statement
5.1:hibernate在执行save的时候会对添加的外键进行维护,通过courseId去Course表里面去查找这个插入的courseId在表中是否存在,不存在就抛出异常。
5.2:这种异常存在的问题有很多情况,这里只是我日常开发处理的
2和3操作是之前修改过的实体映射,在数据库中存在两个两个外键关联着表中的同一个属性,一个cms_column_info,一个advertising_encyclopedia_type,导致表数据在添加时报错.