У меня есть сущность
@Entity
@Builder
@Data
@Table(name = "test_entities")
@NoArgsConstructor
@AllArgsConstructor
public class TestEntity {
@Id
@Column(name = "entity_id")
Long entityId;
@Column(name = "name")
String name;
@Column(name = "description")
String description;
@Column(name = "enttp_enttp_id")
Long entityTypeId;
@Column(name = "start_status_id")
Long entityInitialStatusId;
@Column(name = "final_status_id")
Long entityFinalStatusId;
@Column(name = "is_default")
Boolean isDefault;
@Column(name = "navi_date")
LocalDateTime naviDate;
@Column(name = "navi_user")
String naviUser;
@Column(name = "del_user")
String delUser;
@Column(name = "del_date")
LocalDateTime delDate;
}
и у меня есть репозиторий JPA
@Transactional
public interface EntityRepository extends JpaRepository {
void deleteById(Long entityId);
}
и у меня есть несколько тестов, которые создают некоторые сущности в БД. После создания сущности я удаляю созданную сущность
@Slf4j
public class CreateEntityTest extends E2EAbstractTest{
@Autowired
public EntityRepository entityRepository;
@Test
public void createEntity(){
log.info("Send POST /createEntity request ");
//some code
JSONAssert.assertEquals(expectedResponseBody, actualResponseBody, JSONCompareMode.LENIENT);
entityRepository.deleteById(entityId);
}
@Test
public void createEntityGetObject(){
log.info("Send POST /createEntuty request. getObject=true");
//some code
JSONAssert.assertEquals(expectedResponseBody, actualResponseBody, JSONCompareMode.LENIENT);
entityRepository.deleteById(entityId);
}
Когда я запускаю только один тест, объект полностью удаляется из базы данных. Когда я запускаю весь тестовый класс (несколько тестов подряд), сущность не удаляется.
Почему это так? Как я могу решить эту проблему?
UPD: Добавление @Transactional в тестовый класс и в каждый тест не сработало.
Я включил jpa: show-sql: true в application.yml
и я вижу только выбор в журнале, но нет запроса на удаление
Hibernate: select e1_0.entity_id,e1_0.del_date,e1_0.del_user,e1_0.description,e1_0.final_status_id,e1_0.start_status_id,e1_0.enttp_enttp_id,e1_0.is_default,e1_0.name,e1_0.navi_date,e1_0.navi_user from entity_id e1_0 where e1_0.entity_id=?
Подробнее здесь: https://stackoverflow.com/questions/781 ... eral-tests
Метод deleteById репозитория JPA не работает для нескольких тестов ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
DeleteById() выдает исключение JdbcSQLIntegrityConstraintViolationException с помощью JPA
Anonymous » » в форуме JAVA - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
DeleteById() выдает исключение JdbcSQLIntegrityConstraintViolationException с помощью JPA
Anonymous » » в форуме JAVA - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Spring jpa delete и deleteById не работают после jdk 21 и обновления весенней загрузки
Anonymous » » в форуме JAVA - 0 Ответы
- 20 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Spring jpa delete и deleteById не работают, обновление весенней загрузки
Anonymous » » в форуме JAVA - 0 Ответы
- 22 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Spring jpa delete и deleteById не работают, обновление весенней загрузки
Anonymous » » в форуме JAVA - 0 Ответы
- 27 Просмотры
-
Последнее сообщение Anonymous
-