2017-11-01 23 views
0

을 삭제할 수 없습니다. 개체를 삭제하기 만하면됩니다.은 모르핀 (MongoDB의)를 사용하여 엔티티 나는 모르핀을 사용하여 엔티티를 삭제하려고 할 때마다 나도 같은 오류가 계속

public BaseMaterial findOne(ObjectId id) { 
    Query<BaseMaterial> query = repo.createQuery(BaseMaterial.class); 
    return Optional.ofNullable(query.field("id").equal(id).get()) 
      .orElseThrow(() -> new DataRetrievalFailureException(
        "Failed to fetch " + this.getClass().getName() + " with id " + id.toString())); 
} 

그리고 여기에 (즉 this.findOne) 동일한 서비스에 findOne 방법 여기

public void delete(ObjectId id) { 
    BaseMaterial baseMaterial = this.findOne(id); 
    WriteResult writeResult = this.repo.delete(baseMaterial); 
} 

된다 : 여기


내가 쓰고 있어요 서비스의 내 삭제 방법 내 POJO :

@Entity("baseMaterial") 
public class BaseMaterial { 
    @Id 
    @NotNull 
    protected ObjectId id; 
    @NotEmpty 
    private String name; 
    private String description; 

    public String get_id() { 
     return this.id.toString(); 
    } 

    @JsonIgnore 
    public ObjectId getId() { 
     return id; 
    } 

    public void setId(ObjectId id) { 
     this.id = id; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 

    public String getDescription() { 
     return description; 
    } 

    public void setDescription(String description) { 
     this.description = description; 
    } 
} 

위의 그림에 표시된대로 findOne 메서드가 예상대로 작동하므로이 문제가 발생하는 이유를 알 수 없습니다.

아이디어가 있으십니까?

+0

정말 당신이 사용하고있는 버전 모르핀의 버그 ...처럼 보이는? –

답변

1

내가하지 ... 필드는 @Id로 주석을 참조

+0

나는'@ Id' 주석을 ther에 가지고 있습니다. 저는 다른 클래스에서이 클래스를 상속 받았지만이 질문에 대해서는 모든 필드를 하나의 클래스로 가져 와서 단순하게 유지했습니다. 이는 오타입니다. 그래도 현재 상속하지 않고 디버깅하고 있습니다. –

+0

나는 그 분야에 아직도 동일한 오류가 발생하고있다. 나는 봄의 몽고 객체 매퍼 (mongo object mapper)를 포기하고 사용하고 있다고 생각한다. 캐치 덕분에. –

+0

나는 지금 비행기에 타고있다. 그러나 당신이 원하면 나중에 볼 수있다. – evanchooly