Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA实体管理器资源处理_Java_Hibernate_Orm_Jpa_Jboss - Fatal编程技术网

Java JPA实体管理器资源处理

Java JPA实体管理器资源处理,java,hibernate,orm,jpa,jboss,Java,Hibernate,Orm,Jpa,Jboss,每次我调用JPA方法时,它都会创建实体和绑定查询 我的持久性属性是: <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/> <property name="hibernate.cache.provider_class" value="net.sf.ehcache.hibernate.SingletonEhCacheProvider"/> <prope

每次我调用JPA方法时,它都会创建实体和绑定查询

我的持久性属性是:

<property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/>
<property name="hibernate.cache.provider_class"   value="net.sf.ehcache.hibernate.SingletonEhCacheProvider"/>
<property name="hibernate.cache.use_second_level_cache" value="true"/>
<property name="hibernate.cache.use_query_cache" value="true"/>
有没有什么好方法可以管理EntityManager资源,而不是每次都创建新的,或者可以在持久性中设置任何属性。记住这是JPA

每次查看以下绑定日志:

15:35:15,527 INFO [AnnotationBinder] Binding entity from annotated class: * 15:35:15,527 INFO [QueryBinder] Binding Named query: * => * 15:35:15,527 INFO [QueryBinder] Binding Named query: * => * 15:35:15,527 INFO [QueryBinder] Binding Named query: 15:35:15,527 INFO [QueryBinder] Binding Named query: 15:35:15,527 INFO [QueryBinder] Binding Named query: 15:35:15,527 INFO [QueryBinder] Binding Named query: 15:35:15,527 INFO [QueryBinder] Binding Named query: 15:35:15,527 INFO [QueryBinder] Binding Named query: 15:35:15,527 INFO [QueryBinder] Binding Named query: 15:35:15,527 INFO [EntityBinder] Bind entity com.* on table * 15:35:15,542 INFO [HibernateSearchEventListenerRegister] Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled. 15:35:15,542 INFO [NamingHelper] JNDI InitialContext properties:{} 15:35:15,542 INFO [DatasourceConnectionProvider] Using datasource: 15:35:15,542 INFO [SettingsFactory] RDBMS: and Real Application Testing options 15:35:15,542 INFO [SettingsFactory] JDBC driver: Oracle JDBC driver, version: 9.2.0.1.0 15:35:15,542 INFO [Dialect] Using dialect: org.hibernate.dialect.Oracle10gDialect 15:35:15,542 INFO [TransactionFactoryFactory] Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory 15:35:15,542 INFO [TransactionManagerLookupFactory] No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recomm ended) 15:35:15,542 INFO [SettingsFactory] Automatic flush during beforeCompletion(): disabled 15:35:15,542 INFO [SettingsFactory] Automatic session close at end of transaction: disabled 15:35:15,542 INFO [SettingsFactory] JDBC batch size: 15 15:35:15,542 INFO [SettingsFactory] JDBC batch updates for versioned data: disabled 15:35:15,542 INFO [SettingsFactory] Scrollable result sets: enabled 15:35:15,542 INFO [SettingsFactory] JDBC3 getGeneratedKeys(): disabled 15:35:15,542 INFO [SettingsFactory] Connection release mode: auto 15:35:15,542 INFO [SettingsFactory] Default batch fetch size: 1 15:35:15,542 INFO [SettingsFactory] Generate SQL with comments: disabled 15:35:15,542 INFO [SettingsFactory] Order SQL updates by primary key: disabled 15:35:15,542 INFO [SettingsFactory] Order SQL inserts for batching: disabled 15:35:15,542 INFO [SettingsFactory] Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory 15:35:15,542 INFO [ASTQueryTranslatorFactory] Using ASTQueryTranslatorFactory 15:35:15,542 INFO [SettingsFactory] Query language substitutions: {} 15:35:15,542 INFO [SettingsFactory] JPA-QL strict compliance: enabled 15:35:15,542 INFO [SettingsFactory] Second-level cache: enabled 15:35:15,542 INFO [SettingsFactory] Query cache: enabled 15:35:15,542 INFO [SettingsFactory] Cache region factory : org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge 15:35:15,542 INFO [RegionFactoryCacheProviderBridge] Cache provider: net.sf.ehcache.hibernate.SingletonEhCacheProvider 15:35:15,542 INFO [SettingsFactory] Optimize cache for minimal puts: disabled 15:35:15,542 INFO [SettingsFactory] Structured second-level cache entries: disabled 15:35:15,542 INFO [SettingsFactory] Query cache factory: org.hibernate.cache.StandardQueryCacheFactory 15:35:15,542 INFO [SettingsFactory] Statistics: disabled 15:35:15,542 INFO [SettingsFactory] Deleted entity synthetic identifier rollback: disabled 15:35:15,542 INFO [SettingsFactory] Default entity-mode: pojo 15:35:15,542 INFO [SettingsFactory] Named query checking : enabled 15:35:15,542 INFO [SessionFactoryImpl] building session factory 15:35:15,542 INFO [SessionFactoryObjectFactory] Not binding factory to JNDI, no JNDI name configured 15:35:15,542 INFO [UpdateTimestampsCache] starting update timestamps cache at region: org.hibernate.cache.UpdateTimestampsCache 15:35:15,542 INFO [StandardQueryCache] starting query cache at region: org.hibernate.cache.StandardQueryCache 15:35:15527注释类的信息[AnnotationBinder]绑定实体:* 15:35:15527信息[QueryBinder]绑定命名查询:*=>* 15:35:15527信息[QueryBinder]绑定命名查询:*=>* 15:35:15527信息[QueryBinder]绑定命名查询: 15:35:15527信息[QueryBinder]绑定命名查询: 15:35:15527信息[QueryBinder]绑定命名查询: 15:35:15527信息[QueryBinder]绑定命名查询: 15:35:15527信息[QueryBinder]绑定命名查询: 15:35:15527信息[QueryBinder]绑定命名查询: 15:35:15527信息[QueryBinder]绑定命名查询: 15:35:15527信息[EntityBinder]绑定表上的实体com.** 15:35:15542信息[HibernateSearchEventListenerRegister]在类路径上找不到org.hibernate.search.event.FullTextIndexEventListener。未启用休眠搜索。 15:35:15542信息[NamingHelper]JNDI初始上下文属性:{} 15:35:15542信息[数据源连接提供程序]使用数据源: 15:35:15542信息[设置工厂]关系数据库管理系统: 和实际应用程序测试选项 15:35:15542信息[SettingsFactory]JDBC驱动程序:Oracle JDBC驱动程序,版本:9.2.0.1.0 15:35:15542信息[方言]使用方言:org.hibernate.dialogue.oracle10galenous 15:35:15542信息[TransactionFactoryFactory]事务策略:org.hibernate.Transaction.jdbc TransactionFactory 15:35:15542信息[TransactionManagerLookupFactory]未配置TransactionManagerLookup(在JTA环境中,不建议使用读写或事务性二级缓存 (完) 15:35:15542信息[设置工厂]在完成前()期间自动刷新:禁用 15:35:15542信息[设置工厂]事务结束时自动关闭会话:禁用 15:35:15542信息[设置工厂]JDBC批量大小:15 15:35:15542信息[SettingsFactory]版本化数据的JDBC批更新:禁用 15:35:15542信息[设置工厂]可滚动结果集:已启用 15:35:15542信息[设置工厂]JDBC3 getGeneratedKeys():已禁用 15:35:15542信息[设置工厂]连接释放模式:自动 15:35:15542信息[设置工厂]默认批量提取大小:1 15:35:15542信息[SettingsFactory]生成带有注释的SQL:已禁用 15:35:15542信息[SettingsFactory]按主键排序SQL更新:禁用 15:35:15542信息[SettingsFactory]批处理的顺序SQL插入:禁用 15:35:15542信息[SettingsFactory]查询转换器:org.hibernate.hql.ast.ASTQueryTranslatorFactory 15:35:15542信息[ASTQueryTranslatorFactory]使用ASTQueryTranslatorFactory 15:35:15542信息[SettingsFactory]查询语言替换:{} 15:35:15542信息[设置工厂]JPA-QL严格合规性:已启用 15:35:15542信息[设置工厂]二级缓存:已启用 15:35:15542信息[设置工厂]查询缓存:已启用 15:35:15542信息[SettingsFactory]缓存区域工厂:org.hibernate.Cache.impl.bridge.RegionFactoryCacheProviderBridge 15:35:15542信息[RegionFactoryCacheProviderBridge]缓存提供程序:net.sf.ehcache.hibernate.SingletonEhCacheProvider 15:35:15542信息[SettingsFactory]优化缓存以实现最小输入:已禁用 15:35:15542信息[SettingsFactory]结构化二级缓存项:禁用 15:35:15542信息[SettingsFactory]查询缓存工厂:org.hibernate.cache.StandardQueryCacheFactory 15:35:15542信息[设置工厂]统计信息:已禁用 15:35:15542信息[SettingsFactory]已删除实体合成标识符回滚:已禁用 15:35:15542信息[设置工厂]默认实体模式:pojo 15:35:15542信息[SettingsFactory]命名查询检查:已启用 15:35:15542信息[SessionFactoryImpl]构建会话工厂 15:35:15542信息[SessionFactoryObjectFactory]未将工厂绑定到JNDI,未配置JNDI名称 15:35:15542信息[UpdateTimestampsCache]正在以下区域启动更新时间戳缓存:org.hibernate.cache.UpdateTimestampsCache 15:35:15542信息[StandardQueryCache]在以下区域启动查询缓存:org.hibernate.cache.StandardQueryCache
创建
EntityManager
并不昂贵,通常针对每个请求进行;但是,创建一个
EntityManagerFactory
非常昂贵,只需执行一次


在JavaSE应用程序中,这通常在应用程序开始时完成。基本上,将EMF保存在工厂或助手类中的静态变量中。只是别忘了在应用程序结束时关闭emf.close()。有关一些示例,请参见或。

创建
实体管理器并不昂贵,通常针对每个请求进行;但是,创建一个
EntityManagerFactory
非常昂贵,只需执行一次


在JavaSE应用程序中,这通常在应用程序开始时完成。基本上,将EMF保存在工厂或助手类中的静态变量中。只是别忘了在应用程序结束时关闭emf.close()。有关示例,请参见或。

谢谢您的回复。我正在JavaEE应用程序中使用JPA。它在容器的外面。纯JPA。但要经常使用应用程序,并且流量会非常大,所以需要非常高效地编码和配置,以获得高性能。很抱歉,创建实体管理器工厂输入错误。所以,我如何才能有效地处理实体管理器工厂,而不是每次创建。谢谢回复。我正在JavaEE应用程序中使用JPA。它在容器的外面。纯JPA。但要经常使用应用程序,并且流量会非常大,所以需要非常高效地编码和配置,以获得高性能。很抱歉,创建实体管理器工厂输入错误。那我该怎么处理呢 15:35:15,527 INFO [AnnotationBinder] Binding entity from annotated class: * 15:35:15,527 INFO [QueryBinder] Binding Named query: * => * 15:35:15,527 INFO [QueryBinder] Binding Named query: * => * 15:35:15,527 INFO [QueryBinder] Binding Named query: 15:35:15,527 INFO [QueryBinder] Binding Named query: 15:35:15,527 INFO [QueryBinder] Binding Named query: 15:35:15,527 INFO [QueryBinder] Binding Named query: 15:35:15,527 INFO [QueryBinder] Binding Named query: 15:35:15,527 INFO [QueryBinder] Binding Named query: 15:35:15,527 INFO [QueryBinder] Binding Named query: 15:35:15,527 INFO [EntityBinder] Bind entity com.* on table * 15:35:15,542 INFO [HibernateSearchEventListenerRegister] Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled. 15:35:15,542 INFO [NamingHelper] JNDI InitialContext properties:{} 15:35:15,542 INFO [DatasourceConnectionProvider] Using datasource: 15:35:15,542 INFO [SettingsFactory] RDBMS: and Real Application Testing options 15:35:15,542 INFO [SettingsFactory] JDBC driver: Oracle JDBC driver, version: 9.2.0.1.0 15:35:15,542 INFO [Dialect] Using dialect: org.hibernate.dialect.Oracle10gDialect 15:35:15,542 INFO [TransactionFactoryFactory] Transaction strategy: org.hibernate.transaction.JDBCTransactionFactory 15:35:15,542 INFO [TransactionManagerLookupFactory] No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recomm ended) 15:35:15,542 INFO [SettingsFactory] Automatic flush during beforeCompletion(): disabled 15:35:15,542 INFO [SettingsFactory] Automatic session close at end of transaction: disabled 15:35:15,542 INFO [SettingsFactory] JDBC batch size: 15 15:35:15,542 INFO [SettingsFactory] JDBC batch updates for versioned data: disabled 15:35:15,542 INFO [SettingsFactory] Scrollable result sets: enabled 15:35:15,542 INFO [SettingsFactory] JDBC3 getGeneratedKeys(): disabled 15:35:15,542 INFO [SettingsFactory] Connection release mode: auto 15:35:15,542 INFO [SettingsFactory] Default batch fetch size: 1 15:35:15,542 INFO [SettingsFactory] Generate SQL with comments: disabled 15:35:15,542 INFO [SettingsFactory] Order SQL updates by primary key: disabled 15:35:15,542 INFO [SettingsFactory] Order SQL inserts for batching: disabled 15:35:15,542 INFO [SettingsFactory] Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory 15:35:15,542 INFO [ASTQueryTranslatorFactory] Using ASTQueryTranslatorFactory 15:35:15,542 INFO [SettingsFactory] Query language substitutions: {} 15:35:15,542 INFO [SettingsFactory] JPA-QL strict compliance: enabled 15:35:15,542 INFO [SettingsFactory] Second-level cache: enabled 15:35:15,542 INFO [SettingsFactory] Query cache: enabled 15:35:15,542 INFO [SettingsFactory] Cache region factory : org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge 15:35:15,542 INFO [RegionFactoryCacheProviderBridge] Cache provider: net.sf.ehcache.hibernate.SingletonEhCacheProvider 15:35:15,542 INFO [SettingsFactory] Optimize cache for minimal puts: disabled 15:35:15,542 INFO [SettingsFactory] Structured second-level cache entries: disabled 15:35:15,542 INFO [SettingsFactory] Query cache factory: org.hibernate.cache.StandardQueryCacheFactory 15:35:15,542 INFO [SettingsFactory] Statistics: disabled 15:35:15,542 INFO [SettingsFactory] Deleted entity synthetic identifier rollback: disabled 15:35:15,542 INFO [SettingsFactory] Default entity-mode: pojo 15:35:15,542 INFO [SettingsFactory] Named query checking : enabled 15:35:15,542 INFO [SessionFactoryImpl] building session factory 15:35:15,542 INFO [SessionFactoryObjectFactory] Not binding factory to JNDI, no JNDI name configured 15:35:15,542 INFO [UpdateTimestampsCache] starting update timestamps cache at region: org.hibernate.cache.UpdateTimestampsCache 15:35:15,542 INFO [StandardQueryCache] starting query cache at region: org.hibernate.cache.StandardQueryCache