相关疑难解决方法(0)

应该何时创建/打开EntityManagerFactory实例?

好的,我阅读了一些文章/示例如何在单例中编写实体管理器工厂.

其中一个对我来说最容易理解:

http://javanotepad.blogspot.com/2007/05/jpa-entitymanagerfactory-in-web.html

我了解到EntityManagerFactory(EMF)应该只在应用程序范围内创建一次.

并确保在使用后关闭EMF(?)

所以我编写了EMF helper类来使用的业务方法:

public class EmProvider {

    private static final String DB_PU = "KogaAlphaPU";

    public static final boolean DEBUG = true;

    private static final EmProvider singleton = new EmProvider();

    private EntityManagerFactory emf;

    private EmProvider() {}

    public static EmProvider getInstance() {
        return singleton;
    }


    public EntityManagerFactory getEntityManagerFactory() {
        if(emf == null) {
            emf = Persistence.createEntityManagerFactory(DB_PU);
        }
        if(DEBUG) {
            System.out.println("factory created on: " + new Date());
        }
        return emf;
    }

    public void closeEmf() {
        if(emf.isOpen() || emf …
Run Code Online (Sandbox Code Playgroud)

java singleton jpa entitymanager

24
推荐指数
1
解决办法
3万
查看次数

Spring + Hibernate会话生命周期

应该如何正确地完成Spring下Hibernate会话的"生命周期"?

SessionFactory由Spring自动创建,并从Glassfish连接池获取其数据库连接.目前我正在通过Hibernate会话SessionFactory.getCurrentSession().然后我开始交易,完成工作然后commit()rollback()最后.我需要做任何其他操作,如disconnect(),close(),flush()在任何时间或任何其他人,以便连接将被适当地返回到游泳池或就是一切已经自动春天呢?

有了很多这些方法,我现在有点困惑,要了解应该做什么,也许有人可以指向正确的方向?

java spring hibernate

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

标签 统计

java ×2

entitymanager ×1

hibernate ×1

jpa ×1

singleton ×1

spring ×1