我有一个使用EntityManager的ejb类:

@Remote
public interface TestEjbInt {
    public List<Test> getAllTest();
}

@Stateful
public class TestEjb implements TestEjbInt{
   private static final String PERSISTENCE_UNIT_NAME = "Test"; 
   @PersistenceContext(unitName = "test")
   private EntityManager managerTest;
   //EntityManagerFactory emf = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
   //EntityManager managerTest = emf.createEntityManager();

    public List<Test> getAllTests() {

        List<Test> tests = managerTest.createQuery(
            "select * " +
            "from Test")
        .getResultList();
        return tests;
    }
}

尝试了不同的东西,在Application.java中添加:@SpringBootApplication

public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    /*@Bean
    public PersistenceAnnotationBeanPostProcessor persistenceBeanPostProcessor() {
        return new PersistenceAnnotationBeanPostProcessor();
    }*/

    @Bean
    public LocalEntityManagerFactoryBean entityManagerFactory(){
         LocalEntityManagerFactoryBean factoryBean = new LocalEntityManagerFactoryBean();
        factoryBean.setPersistenceUnitName("test");
        return factoryBean;
    }
}

运行服务器时出现错误:

引起:org.springframework.beans.factory.BeanCreationException:在ema.Test中定义名称为'entityManagerFactory'的bean时出错:init方法的调用失败;嵌套异常是javax.persistence.PersistenceException:没有名为test的EntityManager的持久性提供程序

我提到我使用的是spring boot,我没有persistece.xml,我是通过application.properties配置的 .