CrudRepository 인터페이스에 커스텀 메소드를 추가 할 수 있습니까? 그렇다면 어떻게 할 수 있습니까?Spring Hibernate - FindByObject CrudRepository
다음 클래스에는 Foobar라는 엔티티 클래스가 있습니다. 이 질문을 위해 엔티티 클래스는 필드/열을 원하는 수만큼 가질 수 있습니다.
package com.bar
import org.springframework.data.repository.CrudRepository;
import com.bar.Foobar
public interface FoobarCrudRepo extends CrudRepository<Foobar, Long> {
public Foobar findByObject(Foobar JObj);
}
이 코드는 사용자 지정 메서드를 제거하면 제대로 작동하지만 위와 같이 추가하면 오류가 발생합니다. 이 게시물 (Update or SaveorUpdate in CRUDRespository, Is there any options available)에서 내 이해는 인터페이스에 추가 메소드를 추가해야한다는 것이었고 (예에서와 같이) JPARepo가 나머지를 처리합니다. 그러나 아래 오류가 나타납니다. 내 생각 -이 맞춤 클래스에 대해 많이 알지 못합니다.
nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'Foobar': Invocation of init method failed; nested exception is org.springframework.data.mapping.PropertyReferenceException: No property object found for type Foobar!
왜 내가이 findbyObject() 당신이 요청할 수도 있습니다 싶은 :
여기 내 오류입니까? 그래서 DB에 객체가 이미 추가되었는지 확인하고 검사를 수행하여 중복 된 행의 데이터를 DB에 삽입하지 마십시오.
의견을 보내 주시면 감사하겠습니다.
전체 개체를 키로 사용하여 개체가 데이터베이스에 있는지 확인하고 싶습니까? 고유 ID가없는 이유는 무엇입니까? – CraigR8806
키가 아니라 오브젝트입니다. 필자의 이해를 돕기 위해 uniqueID는 DB에 삽입 된 후에 생성됩니다. 즉, 삽입하기 전에 고유 ID를 어떻게 찾을 수 있습니까? – rj2700
당신이하고 싶은 일을하기 위해, 당신은 단지 객체가 유일해야하고 고유 한 것이 필요한 필드를 골라서 현재 DB에있는 것들과 비교하여 검사해야합니다. – CraigR8806