У меня есть следующий метод создания службы, который использует spring data jpa
и hibernate
для извлечения базы данных mysql
:
@Transactional
fun create(dto: MissionDocumentType): MissionDocumentType {
// retrieve rank on existing entities
val rank = missionDocumentTypeRepository.countByCategoryCode(dto.code).toInt()
// save new entity
return missionDocumentTypeRepository.save(
MissionDocumentTypeEntity(
rank = rank,
// ...other fields from dto
)
).toDto()
}
Полученное значение rank
подсчитывает объект, который не был сохраненеще.Кажется, что сессия hibernate уже знает о новой сущности при первой инструкции.
Это правильно?Если нет, не могли бы вы объяснить, почему?Если да, как я могу получить ранг, не считая еще не существующую сущность?