#java #spring #spring-boot #jpa #spring-data-jpa
#java #весна #весенняя загрузка #jpa #spring-data-jpa
Вопрос:
Я использую Jpa и Spring, но у меня возникают проблемы, когда я получаю данные из базы данных.
Сущность
@Entity
public class Employee {
@Id
private String id
private String noteId
private String email
//get and set
}
@Entity
public class Note{
@Id
private String id
private String value
private String description
//get and set
}
Я, используя JPA, получаю всю информацию из базы данных с двумя таблицами note и employyee.
Я пишу запрос, который выглядит как
Репозиторий
@Query("SELECT NEW com.example.response.ResponseDto(e.id,e.email,n.description,n.value) FROM Employee e JOIN NOTE n ON e.noteId = n.id WHERE e.id = :id and n.value = :value")
ResponseDto findAllEmployeeAndNote(String id, String value)
Когда я помещаю идентификатор и значение правильного значения в базу данных. Я получаю успешный ответ. Но когда я помещаю идентификатор и значение, не найденные в базе данных. JPA выдает исключение : Result must not empty
Я хочу пользовательское сообщение Result must not empty
и создаю свое пользовательское исключение. Как с этим справиться
Комментарии:
1. Перехватите исключение JPA и создайте свое собственное (в идеале установите исключение JPA в качестве причины)?
2. @Thomas ты имеешь в виду, что когда я вызываю findAllEmployeeAndNote , я использую try catch ?
3. Не могли бы вы добавить код, который вы использовали
findAllEmployeeAndNote
?.4. Вы можете вернуть
Optional<ResponseDto>
5. Спасибо. Необязательно или попробуйте catch также работает. Большое спасибо