Метод deleteById репозитория JPA не работает для нескольких тестовJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Метод deleteById репозитория JPA не работает для нескольких тестов

Сообщение Anonymous »

У меня есть сущность
@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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»