我正在使用spring-boot-starter-data-jpa开发一个Spring-Boot应用程序。我无法理解应该使用哪个注释来注入实体管理器? @Autowired
或@PersistenceContext
我知道@PersistenceContext
是一个JPA注释,而@Autowired
属于Spring。但在内部,它们如何发挥作用?我已经看过这个了。但无法理解确切的原因。
是数据源。例如,这可以是一个数据库。
如果需要多个数据源,一个选项是在持久性文件中定义它们.xml。在这里,您可以定义多个并按名称分隔它们。
然后@PersistenceContext会给你更细粒度的你想要注入的东西。您可以在此处按定义的名称选择哪个数据源。还有其他一些选择。https://docs.oracle.com/javaee/7/api/javax/persistence/PersistenceContext.html
如果使用 @Autowire则只需按 Bean 名称注入可用的持久性上下文。如果您有 2 个或更多持久性上下文,则可能会由于歧义而失败。