jpa如何实现与数据库,实体类解耦合

jpa可以继承JpaRepository,从而使用封装好的方法,但和实体类紧密联系了,还有使用@Query注解写sql,里面可以写实体类充当表,也可使用原生sql,但这都和数据库以及实体类紧密联系,有没有什么办法进行解耦合,比如说以后我改变实体类名字或者数据库名字,只要修改实体类即可,其他的不动

实体类里面的字段上添加注解映射数据库中的字段,这样就不使用默认的转换了,这样你修改实体类字段名啥的不会影响映射关系,具体注解请看这个:https://blog.csdn.net/J080624/article/details/78745962

本就是数据库字段和实体类属性需要存在映射关系才搞到一起的,你不搞点联系,你非要说他实体类的属性a和表的字段b是对应的,那也是可以的,那请问如果是你来设计jpa的执行逻辑,你怎么处理这种场景
而且你说的改名这种,只要表明和实体类对应,你改一个就都改了

你好,jap的字段和数据库名我没记错的话是有注解可以指定的,修改字段名时只需要修改注解就可以。
如果你想做这方面的修改的话,你可以在编译器这方面做一些努力。
类似于lombok的实现原理。实现一些注解,然后在编译阶段就对这些注解进行检查,这样就算你的代码修改了,也可以通过自定义的映射规则使得最终形成的class文件是没有问题的。
emm,好处坏处都有。

可以抽象一个泛型试试