我正在使用 JPA 开发 Spring boot 项目。
我想知道的是 repository.findById(id) 方法返回 null,而数据在数据库中可用。
功能save()和findAll()工作正常。当我在 junit 测试环境中运行相同的代码时,它完全有效。如果数据是硬编码的,比如memberRepository.findById("M001");,它工作正常。
@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.....
Run Code Online (Sandbox Code Playgroud)
@ResponseBody
@RequestMapping(value="/checkIdDuplicate", method=RequestMethod.POST)
public boolean checkIdDuplicate(@RequestBody String id) {
return memberService.isExistByUserId(id);
}
Run Code Online (Sandbox Code Playgroud)
public boolean isExistByUserId(String id) {
Optional<DfMember> member = memberRepository.findById(id);
return member.isPresent();
}
Run Code Online (Sandbox Code Playgroud)
public interface MemberRepository extends CrudRepository<DfMember, String> {
}
Run Code Online (Sandbox Code Playgroud)
应该返回成员对象,但它为空。