Search in sources :

Example 1 with MultiplePrototypesInSpringContextTestBean

use of org.springframework.orm.jpa.hibernate.beans.MultiplePrototypesInSpringContextTestBean in project spring-framework by spring-projects.

the class HibernateNativeEntityManagerFactorySpringBeanContainerIntegrationTests method testCanRetrieveBeanByNameWithNativeOptions.

@Test
public void testCanRetrieveBeanByNameWithNativeOptions() {
    BeanContainer beanContainer = getBeanContainer();
    assertThat(beanContainer).isNotNull();
    ContainedBean<MultiplePrototypesInSpringContextTestBean> bean = beanContainer.getBean("multiple-1", MultiplePrototypesInSpringContextTestBean.class, NativeLifecycleOptions.INSTANCE, IneffectiveBeanInstanceProducer.INSTANCE);
    assertThat(bean).isNotNull();
    MultiplePrototypesInSpringContextTestBean instance = bean.getBeanInstance();
    assertThat(instance).isNotNull();
    assertThat(instance.getName()).isEqualTo("multiple-1");
    assertThat(instance.getApplicationContext()).isSameAs(applicationContext);
    ContainedBean<MultiplePrototypesInSpringContextTestBean> bean2 = beanContainer.getBean("multiple-1", MultiplePrototypesInSpringContextTestBean.class, NativeLifecycleOptions.INSTANCE, IneffectiveBeanInstanceProducer.INSTANCE);
    assertThat(bean2).isNotNull();
    MultiplePrototypesInSpringContextTestBean instance2 = bean2.getBeanInstance();
    assertThat(instance2).isNotNull();
    // Due to the lifecycle options, and because the bean has the "prototype" scope, we should not return the same instance
    assertThat(instance2).isNotSameAs(instance);
}
Also used : BeanContainer(org.hibernate.resource.beans.container.spi.BeanContainer) MultiplePrototypesInSpringContextTestBean(org.springframework.orm.jpa.hibernate.beans.MultiplePrototypesInSpringContextTestBean) Test(org.junit.jupiter.api.Test)

Example 2 with MultiplePrototypesInSpringContextTestBean

use of org.springframework.orm.jpa.hibernate.beans.MultiplePrototypesInSpringContextTestBean in project spring-framework by spring-projects.

the class HibernateNativeEntityManagerFactorySpringBeanContainerIntegrationTests method testCanRetrieveBeanByNameWithJpaCompliantOptions.

@Test
public void testCanRetrieveBeanByNameWithJpaCompliantOptions() {
    BeanContainer beanContainer = getBeanContainer();
    assertThat(beanContainer).isNotNull();
    ContainedBean<MultiplePrototypesInSpringContextTestBean> bean = beanContainer.getBean("multiple-1", MultiplePrototypesInSpringContextTestBean.class, JpaLifecycleOptions.INSTANCE, IneffectiveBeanInstanceProducer.INSTANCE);
    assertThat(bean).isNotNull();
    MultiplePrototypesInSpringContextTestBean instance = bean.getBeanInstance();
    assertThat(instance).isNotNull();
    assertThat(instance.getName()).isEqualTo("multiple-1");
    assertThat(instance.getApplicationContext()).isSameAs(applicationContext);
}
Also used : BeanContainer(org.hibernate.resource.beans.container.spi.BeanContainer) MultiplePrototypesInSpringContextTestBean(org.springframework.orm.jpa.hibernate.beans.MultiplePrototypesInSpringContextTestBean) Test(org.junit.jupiter.api.Test)

Aggregations

BeanContainer (org.hibernate.resource.beans.container.spi.BeanContainer)2 Test (org.junit.jupiter.api.Test)2 MultiplePrototypesInSpringContextTestBean (org.springframework.orm.jpa.hibernate.beans.MultiplePrototypesInSpringContextTestBean)2