类 TestEntityManager
- java.lang.Object
- org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager
public class TestEntityManager extends Object
Alternative toEntityManager
for use in JPA tests. Provides a subset ofEntityManager
methods that are useful for tests as well as helper methods for common testing tasks such aspersist/flush/find
.- 从以下版本开始:
- 1.4.0
构造器概要
构造器 构造器 说明 TestEntityManager(javax.persistence.EntityManagerFactory entityManagerFactory)
Create a newTestEntityManager
instance for the givenEntityManagerFactory
.
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 void
clear()
Clear the persistence context, causing all managed entities to become detached.void
detach(Object entity)
Remove the given entity from the persistence context, causing a managed entity to become detached.<E> E
find(Class<E> entityClass, Object primaryKey)
Find by primary key.void
flush()
Synchronize the persistence context to the underlying database.javax.persistence.EntityManager
getEntityManager()
Return the underlyingEntityManager
that's actually used to perform all operations.Object
getId(Object entity)
Return the ID of the given entity.<T> T
getId(Object entity, Class<T> idType)
Return the ID of the given entity cast to a specific type.<E> E
merge(E entity)
Merge the state of the given entity into the current persistence context.<E> E
persist(E entity)
Make an instance managed and persistent.<E> E
persistAndFlush(E entity)
Make an instance managed and persistent then synchronize the persistence context to the underlying database.Object
persistAndGetId(Object entity)
Make an instance managed and persistent then return it's ID.<T> T
persistAndGetId(Object entity, Class<T> idType)
Make an instance managed and persistent then return it's ID.<E> E
persistFlushFind(E entity)
Make an instance managed and persistent, synchronize the persistence context to the underlying database and finally find the persisted entity by its ID.<E> E
refresh(E entity)
Refresh the state of the instance from the database, overwriting changes made to the entity, if any.void
remove(Object entity)
Remove the entity instance.
构造器详细资料
TestEntityManager
public TestEntityManager(javax.persistence.EntityManagerFactory entityManagerFactory)
Create a newTestEntityManager
instance for the givenEntityManagerFactory
.- 参数:
entityManagerFactory
- the source entity manager factory
方法详细资料
persistAndGetId
public Object persistAndGetId(Object entity)
Make an instance managed and persistent then return it's ID. Delegates toEntityManager.persist(Object)
thengetId(Object)
.Helpful when setting up test data in a test:
Object entityId = this.testEntityManager.persist(new MyEntity("Spring"));
- 参数:
entity
- the source entity- 返回:
- the ID of the newly persisted entity
persistAndGetId
public <T> T persistAndGetId(Object entity, Class<T> idType)
Make an instance managed and persistent then return it's ID. Delegates toEntityManager.persist(Object)
thengetId(Object, Class)
.Helpful when setting up test data in a test:
Long entityId = this.testEntityManager.persist(new MyEntity("Spring"), Long.class);
- 类型参数:
T
- the ID type- 参数:
entity
- the source entityidType
- the ID type- 返回:
- the ID of the newly persisted entity
persist
public <E> E persist(E entity)
Make an instance managed and persistent. Delegates toEntityManager.persist(Object)
then returns the original source entity.Helpful when setting up test data in a test:
MyEntity entity = this.testEntityManager.persist(new MyEntity("Spring"));
- 类型参数:
E
- the entity type- 参数:
entity
- the entity to persist- 返回:
- the persisted entity
persistFlushFind
public <E> E persistFlushFind(E entity)
Make an instance managed and persistent, synchronize the persistence context to the underlying database and finally find the persisted entity by its ID. Delegates topersistAndFlush(Object)
thenfind(Class, Object)
with theentity ID
.Helpful when ensuring that entity data is actually written and read from the underlying database correctly.
- 类型参数:
E
- the entity type- 参数:
entity
- the entity to persist- 返回:
- the entity found using the ID of the persisted entity
persistAndFlush
public <E> E persistAndFlush(E entity)
Make an instance managed and persistent then synchronize the persistence context to the underlying database. Delegates toEntityManager.persist(Object)
thenflush()
and finally returns the original source entity.Helpful when setting up test data in a test:
MyEntity entity = this.testEntityManager.persistAndFlush(new MyEntity("Spring"));
- 类型参数:
E
- the entity type- 参数:
entity
- the entity to persist- 返回:
- the persisted entity
merge
public <E> E merge(E entity)
Merge the state of the given entity into the current persistence context. Delegates toEntityManager.merge(Object)
- 类型参数:
E
- the entity type- 参数:
entity
- the entity to merge- 返回:
- the merged entity
remove
public void remove(Object entity)
Remove the entity instance. Delegates toEntityManager.remove(Object)
- 参数:
entity
- the entity to remove
find
public <E> E find(Class<E> entityClass, Object primaryKey)
Find by primary key. Delegates toEntityManager.find(Class, Object)
.- 类型参数:
E
- the entity type- 参数:
entityClass
- the entity classprimaryKey
- the entity primary key- 返回:
- the found entity or
null
if the entity does not exist - 另请参阅:
getId(Object)
flush
public void flush()
Synchronize the persistence context to the underlying database. Delegates toEntityManager.flush()
.
refresh
public <E> E refresh(E entity)
Refresh the state of the instance from the database, overwriting changes made to the entity, if any. Delegates toEntityManager.refresh(Object)
.- 类型参数:
E
- the entity type- 参数:
entity
- the entity to refresh- 返回:
- the refreshed entity
clear
public void clear()
Clear the persistence context, causing all managed entities to become detached. Delegates toEntityManager.clear()
detach
public void detach(Object entity)
Remove the given entity from the persistence context, causing a managed entity to become detached. Delegates toEntityManager.detach(Object)
.- 参数:
entity
- the entity to detach.
getId
public Object getId(Object entity)
Return the ID of the given entity. Delegates toPersistenceUnitUtil.getIdentifier(Object)
.- 参数:
entity
- the source entity- 返回:
- the ID of the entity or
null
- 另请参阅:
getId(Object, Class)
getId
public <T> T getId(Object entity, Class<T> idType)
Return the ID of the given entity cast to a specific type. Delegates toPersistenceUnitUtil.getIdentifier(Object)
.- 类型参数:
T
- the ID type- 参数:
entity
- the source entityidType
- the expected ID type- 返回:
- the ID of the entity or
null
- 另请参阅:
getId(Object)
Copyright © 2020 Pivotal Software, Inc.. All rights reserved.