jjzjj

entityManagerFactory

全部标签

java - 在 spring data jpa 中使用多个 entitymanagerfactory 配置多个数据库

我想在spring4中为2个不同的数据库(postgres和sqlserver)配置2个实体管理器工厂。persistence.xml包含2个数据库的2个持久化单元:org.hibernate.jpa.HibernatePersistenceProviderorg.hibernate.jpa.HibernatePersistenceProviderspring-context.xml包含2个数据源和2个实体管理器工厂:classpath*:META-INF/persistence.xmlclasspath*:META-INF/persistence.xml当我运行该应用程序时,它无法创

java - 如何在 jersey/hk2 应用程序中正确配置 EntityManager?

我有一个使用JPA持久性的jersey-2/hk2应用程序。EntityManager在启动时像这样绑定(bind)publicMyApplication(){//...register(newAbstractBinder(){@Overridepublicvoidconfigure(){bindFactory(EmFactory.class).to(EntityManager.class).in(RequestScoped.class);}});}工厂类是publicclassEmFactoryimplementsFactory{privatestaticfinalStringPER

java - Datanucleus 警告 : Class was specified in persistence-unit but not annotated, 所以忽略

启动我的应用程序时,我会为每个类看到此警告:WARN[DataNucleus.MetaData]-Classcom.mycomp.MyClasswasspecifiedinpersistence-unitmyPersistenceUnitbutnotannotated,soignoring该应用程序正确启动,因此没有直接问题,但我想知道这个即将到来的形式,以及如何避免id。我的persistence.xml看起来像:org.datanucleus.api.jpa.PersistenceProviderImpl我正在使用Spring在GoogleAppEngine上运行我的应用程序。但我

java - Spring + EntityManagerFactory +Hibernate 监听器 + 注入(inject)

我有一个简单的问题。可以通过@Ressource或@Autowired向HibernateEventlistener添加依赖注入(inject)吗?我将向您展示我的entitymanagerfactory配置:目前我通过jpa.properties注册我的监听器,hibernate.ejb.event.load=com.example.hibernate.events.LoadEvent但在这种情况下,我的监听器中没有Spring注入(inject)。我找到了一个解决方案,但这使用了sessionFactory而不是entitymanager或者我可以在我的上下文中修改sessionf

java - Spring 启动(带 jpa 的 mysql): No bean named 'entityManagerFactory' available

开始构建(第一个)springboot应用程序,这是我的springboot主类(Fullcodeongithub)@EnableAutoConfiguration@SpringBootApplicationpublicclassApplication{publicstaticvoidmain(String[]args){SpringApplication.run(Application.class,args);}}这是pom.xml4.0.0com.exampledemo0.0.1-SNAPSHOTjardemoDemoprojectforSpringBootorg.springfr

春季启动数据JPA多个数据源EntityManagerFactory错误

我想将两个数据库与SpringBoot使用。这里的代码:第一个DB配置@Configuration@EnableAutoConfiguration@EnableJpaRepositories(basePackages={"net.elyland.pipe.repositories.router"},entityManagerFactoryRef="routerEntityManagerFactory",transactionManagerRef="routerTransactionManager")@EnableTransactionManagement@PropertySource("cla

mysql - 使用 JPA EntityManagerFactory(JSE、EclipseLink、Tomcat)连接到运行时在网络服务器中选择的不同 mysql 模式,这可能吗?

有没有办法在运行时重新创建已在Web应用程序中使用的EntityManagerFactory?我想要的是告诉entityManagerFactory忘记最后一个数据库连接,并在web用户选择其他数据库(mysql模式)时在运行时连接到新模式。或者不要忘记已经使用过的,但也使用一个新的连接到另一个尚未使用的mysql模式。这些模式具有完全相同的结构(表等),但出于安全和其他原因针对不同的用户。这可能吗?我正在使用Vaadin框架、Eclipselink2.4.1、Mysql5.5和Tomcat7。我发现与我的情况相关的内容以及我已经尝试过的内容如下。我正在使用Eclipselink复合持

mysql - 确保关闭 EntityManager 连接的正确方法是什么?

我们的DAO层中有19个方法,每个方法都是以下方法的一些变体:publicTicketPropsaveTicketProp(TicketPropprop){EntityManagerem=this.emf.createEntityManager();try{em.getTransaction().begin();prop=(TicketProp)em.merge(prop);em.getTransaction().commit();returnprop;}finally{em.close();}}含义:在每个方法中我们处理自己的事务并在finallyblock中关闭它。我们正在测试Je

Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed;

更新更高版本的SpringBoot依赖解决了来源来自GitHub上面的GitHub-echisan/springboot-jwt-demo:这是一个使用了springboot+springSecurity+jwt实现的基于token的权限管理的一个demo项目,本地启动后报错org.springframework.beans.factory.BeanCreationException:Errorcreatingbeanwithname'entityManagerFactory'definedinclasspathresource[org/springframework/boot/autocon

java - Hibernate 更快的 EntityManagerFactory 创建

在我的桌面应用程序中,新数据库经常被打开。我使用Hibernate/JPA作为ORM。问题是,创建EntityManagerFactory非常慢,在快速机器上大约需要5-6秒。我知道EntityManagerFactory应该是重量级的,但这对于用户希望快速打开新数据库的桌面应用程序来说太慢了。我可以关闭一些EntityManagerFactory功能来获取实例吗快点?或者是否可以懒惰地创建一些EntityManagerFactory来加快创建速度?我可以在之前以某种方式创建EntityManagerFactory对象吗知道数据库网址?我很乐意关闭所有验证这是可能的。通过这样做,我可以