我得到了类似的东西
@Transactional
public class ListController {
@PersistenceContext
EntityManager entityManager;
@GetMapping("/save/avion")
public ResponseEntity<String> save() {
Avion avion = new Avion();
entityManager.persist(avion);
}
}
我只想知道Spring用于EntityManager的实现的名称。但我总是得到一些lijke。。
我只试了4种方法。。
System.out.println("==> " + entityManager.getClass());
System.out.println("==> " + AopProxyUtils.ultimateTargetClass(entityManager));
system.out.println("==> " + AopUtils.getTargetClass(entityManager).getName());
System.out.println("==> " + entityManager.getClass().getCanonicalName());
但我系统地获得了。。
==> class com.sun.proxy.$Proxy110
==> class com.sun.proxy.$Proxy110
==> com.sun.proxy.$Proxy110
==> com.sun.proxy.$Proxy110
所以。。我可以获得具体课程吗?
如果要求获得工厂下bean的名称,则entityManager
bean上的.toString()
将提供该信息。
两个
System.out.println(entityManager);
或
String entityManagerName = entityManager.toString();
System.out.println(entityManagerName);
会在我的测试项目中打印
目标工厂的共享EntityManager代理[org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean@4f7d3ab3]
请仔细阅读文章(尤其是B节注释处理下的第5点)详细理解框架代码。