2016-11-03 2 views
0

& Mongo 데이터베이스에 특정 입력을 기반으로 추가를 시도하고 있습니다.값을 저장할 수 없습니다. MongoRepository를 사용하는 Spring의 Mongo DB에서

내가 여러 추가 할 필요가로 :

1.So 하나의 방법은 수동으로 값을 추가하고 빈에서 그들을 설정하고 데이터베이스에 저장하는 것입니다.

또는

2.Just 필요할 때 가져 & 필드의 게터에 추가합니다.

두 번째 접근 방식을 시도

, 나는

샘플 코드를 찾아주세요 MongoDB를의 데이터를 저장할 수 아니다 -

콩 클래스 :

: MongoRepository를 확장

class Addition { 

    private double a; 
    private double b; 
    private double c; 
    private double d; 

    //getters and setters of a & b; 

    //getter of c; 
    public double getC() { 
     return a + b; 
    } 

    //getter of d; 
    public double getD() { 
     return getC() + a; 
    } 

} 

인터페이스

@Repository 
public interface AdditionRepository extends MongoRepository<Addition, String> { 

} 

전화 분류 :

몽고 DB에서
@Controller 
public class Add { 

    @Autowired 
    private AdditionRepository additionRepository; 

    @RequestMapping(value = "/add", method = RequestMethod.GET) 
     public void addNumbers(){ 
      Addition addition = new Addition(); 
      addition.setA(1.0); 
      addition.setB(2.0); 
      System.out.println(addition.getC()); //able to print expected value 
      System.out.println(addition.getD()); //able to print expected value 

      additionRepository.save(addition); 

    } 

} 

데이터 저장 :

{ 
    "_id" : ObjectId("581b229bbcf8c006a0eda4b2"), 
    "a" : 1.0, 
    "b" : 2.0, 
    "c" : 0.0, 
    "d" : 0.0, 
} 

아무도 내가 잘못하고있는 중이 야 어디 알려, 또는이 일을 다른 방법으로하시기 바랍니다 수 있습니다.

답변

0

게터는 실제로 지속성을 위해 사용되지 않습니다. 이 프레임 워크는 대신 필드를 사용한다 : 귀하의 경우 http://docs.spring.io/spring-data/mongodb/docs/1.6.3.RELEASE/reference/html/#mapping-conventions

, 당신이 계산 처리됩니다 생성자를 만들 수 있습니다 "객체의 필드와 문서의 필드로 변환하는 데 사용됩니다" 나는 빈에서 50 개 등의 필드가 내 현재 코드에

class Addition { 

    private double a; 
    private double b; 
    private double c; 
    private double d; 

    public Addition(double a, double b){ 
     this.a = a; 
     this.b = b;   
     this.c = a+b; 
     this.d = this.c + a; 
    } 
} 
+0

당신의 답장을 보내 주셔서 감사합니다,하지만, 그래서 생성자 (50 개) 등의 필드를 초기화하고 그들에 다른 산술 계산을 수행, 그래서 그것은 좋은 방법이 될 것인가? –

관련 문제