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

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