JPA Repository.findById() возвращает значение null, но значение существует в базе данныхJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 JPA Repository.findById() возвращает значение null, но значение существует в базе данных

Сообщение Anonymous »

Я разрабатываю загрузочный проект Spring, используя JPA.
Я хочу знать, что метод репозитария.findById(id) возвращает значение null, тогда как данные доступны в БД.
Функции save() и findAll() работают нормально. Когда я запустил тот же код в тестовой среде Junit, он полностью сработал. Если данные жестко закодированы, напримерmemberRepository.findById("M001");, все работает нормально.
Entity

Код: Выделить всё

@Entity
@Table(name="df_member")
public class DfMember {

@Column(name="member_type")
private String memberType;

@Id
@Column(name="id")
private String id;

...columns...
...Getters/Setters.....
Контроллер

Код: Выделить всё

    @ResponseBody
@RequestMapping(value="/checkIdDuplicate", method=RequestMethod.POST)
public boolean checkIdDuplicate(@RequestBody String id) {

return memberService.isExistByUserId(id);
}
MemberService

Код: Выделить всё

    public boolean isExistByUserId(String id) {
Optional member = memberRepository.findById(id);
return member.isPresent();
}
Репозиторий

Код: Выделить всё

public interface MemberRepository extends CrudRepository {

}
Должен вернуть объект-член, но он имеет значение NULL.

Подробнее здесь: https://stackoverflow.com/questions/570 ... xist-on-db
Ответить

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

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

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

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

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