相关疑难解决方法(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万
查看次数

休眠配置文件中会话工厂名称属性的用途是什么

在 hibernate-cfg.xml 文件中,根据我的理解

hibernate-configuration 只能有一个 session-factory 和一个或零个安全标签

如果我们配置多个会话工厂,那么我们应该会得到错误

"The content of element type "hibernate-configuration" must match "(session-factory,security?)

所以有人告诉我

  1. hibernate.cfg.xml文件中session-factory标签中的name属性有什么用

    <session-factory name="">
    
    Run Code Online (Sandbox Code Playgroud)
  2. 我们可以在什么场景下使用它?

java hibernate nhibernate-configuration

12
推荐指数
1
解决办法
1125
查看次数

Hibernate的sessionFactory是线程安全的原因

我了解到Hibernate的会话工厂被认为是线程安全的.任何人都可以清楚地了解它在Web应用程序中如何充当线程安全以及所有方法如何同步或其他任何方法?

hibernate

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

有多个sessionFactory实例

我正在将遗留应用程序移植到hibernate 5,我在登录阶段遇到了麻烦.这是它的工作原理(我不能改变它):

  • 用户最初使用通用登录名/密码连接到oracle DB(对所有用户都相同)
  • 然后用户运行"登录"存储过程并输入唯一密码作为参数
  • 该过程向用户返回特定的Oracle DB用户名/密码
  • 用户断开与DB的连接,并使用存储过程提供的凭据重新连接

我目前为每个连接用户创建一个sessionFactory实例,但我担心这会影响性能.有一个更好的方法吗?

谢谢

oracle hibernate

6
推荐指数
1
解决办法
232
查看次数