spring data jpa遇到的一些琐碎问题
jpa是几年前就已经接触过了,不过中间隔了好久没使用过,忘了不少细节上的问题。今天就来分享下在项目中遇到的一些坑吧,应该都比较基础,注意就好。 1.对象与表的映射。 全程采用注解形式,对象中的字段可以根据数据表的字段进行定义,但是在建数据表的时候要保证数据表字段都要是大写,否则在关联关系(如:一对多,多对一,多对多等)上一直会出错,说找不到对应的列。对于对象的get、set方法,可以直接采用简便的@Data在类上进行标注即可,然后在属性上添加字段的映射注解。 2.对象的构造方法的注入 很多时候,我们会根据业务来写HQL,但是HQL自身的功能有限不能完全满足业务,我们会根据需要来查询对象,有的时候要查询一张数据表中不存在的字段,这时候要在对象中添加需要的属性,并且要给该属性添加@Transient注解,同时给该对象添加一个构造方法public User(Long id,String deptName) { this...省略},显然默认的构造方法一定要加上public User() { },这样就可以实现多个对象的关系关联,查询的时候就可以这样select new User(u.id,d.deptName) from User u,Dept d where u.deptId = d.id; 3.聚合函数在构造器中的注入 在业务统计的时候,会涉及到一些数据的统计。这时候数据库的sum