相关疑难解决方法(0)

获取EntityManagerFactory的最佳实践

在Web应用程序(jsp/servlets)中获取EntityManagerFactory的最佳方法是什么?这是一个好方法何时应该创建/打开EntityManagerFactory实例?或者从JNDI或其他东西获得它更好吗?

java jpa jndi

23
推荐指数
1
解决办法
4万
查看次数

Spring-boot:不能使用持久性

我很喜欢这个,而且 - 虽然我学到了很多 - 但开始绝望了.

我已经尝试过关于这个优秀问题的所有建议:

没有为EntityManager命名的持久性提供程序

我曾经使用无处不在的HibernateUtil类在某一点上工作,但被告知要转到普通的JPA样式:

Spring RESTful控制器方法改进建议

不幸的是,我无法让bean注入在spring-boot中正常工作.这是我的尝试:

Spring JPA(Hibernate)没有类型的限定bean:javax.persistence.EntityManagerFactory

经过这条路径的大量工作后,我最终得到了一个空实体管理器.我发现了这一点并开始认为它不起作用:

在Tomcat 6中使用JPA2:@PersitenceContext不起作用,EntityManager为null

在我看来,EntityManagerFactory绝对应该是spring-boot创建的任何上下文中的bean,但是......无论如何.我认为至少这会起作用:

申请发布:

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

控制器:

@Controller
public class GetController {

    private static final String PERSISTENCE_UNIT_NAME = "cpJpaPu";  

    @RequestMapping(value = "/user", method = RequestMethod.GET)
    public @ResponseBody User getUser(@RequestParam(value="id", required=true) int id) {
        User user = null;

        EntityManagerFactory emf = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
        EntityManager em = emf.createEntityManager();
        UserDAO userDao = new UserDAO();
        userDao.setEntityManager(em); …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa spring-boot

12
推荐指数
2
解决办法
3万
查看次数

标签 统计

java ×2

jpa ×2

hibernate ×1

jndi ×1

spring ×1

spring-boot ×1