Я хочу знать, что метод репозитария.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);
}
Код: Выделить всё
public boolean isExistByUserId(String id) {
Optional member = memberRepository.findById(id);
return member.isPresent();
}
Код: Выделить всё
public interface MemberRepository extends CrudRepository {
}
Подробнее здесь: https://stackoverflow.com/questions/570 ... xist-on-db