开发常见问题整理
JPA
- parallelStream 调用 manyToMany 清除关联关系无效
1 |
|
这里使用基于注解的 Spring 事物,Spring 中大量使用基于代理的模式来处理方法调用,如果被代理对象实现了接口则使用 JDK 动态代理
,未实现接口则使用 CGLIB 代理
,通过代理在方法调用时获取注解进行事物处理,实际在方法处理中会使用 AOP 切面编程来处理不同切入点的事件,具体的两个实现类为 CglibAopProxy
和 JdkDynamicAopProxy
,切面的不同切入点 advice
又维护一系列的拦截方法 MethodInterceptor
,通过方法调用时适合的拦截器会开始工作,比如我们这里的 TransactionInterceptor
会为方法调用包裹事物。