首先Jar包A中有实体类TEvent 对应数据库表 event,Jar包B中有实体类TEvent对应的数据库表event,当A需要引入B的依赖时候,AB两个Jar包中就会有实体类命名冲突,如果AB中的JPARepository命名相同会直接启动挂掉,repository无法注入。即使repository名字不一样启动成功了,如果repository中有@Query自定义sql
sql语句中的TEvent会无法识别用哪个包的实体类,如果AB两个jar中TEvent不一致的话,非常有可能导致问题,比如A中的TEvent有occupiedNum这个属性,而B中的TEvent没有这个属性,JPA随机取class,会出现开发环境正常,线上环境直接报错起不来的情况,非常的坑。此外其他方式的自定义查询都有可能产生问题
。