2016-09-01 1 views
2

데이터베이스 열에서 null을 보여줍니다 즉, 신청자, 신청자, 실험 조건. applicationId는 신청자와 실험 조건 테이블에서 외래 키 역할을합니다.하나는 내가 형식의 클라이언트에서 JSON 객체를 얻고 어디 웹 응용 프로그램을 쓰고 있어요

@Entity 
public class Application { 
    private long application_id; 
    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    public long getApplication_id() { 
     return application_id; 
    } 
    ... 
    private List<ExperimentalConditions> experimentRow; 
    @OneToMany(targetEntity=ExperimentalConditions.class,mappedBy="application", 
     cascade=CascadeType.ALL,fetch=FetchType.EAGER) 
    public List<ExperimentalConditions> getExperimentRow() { 
     return experimentRow; 
    } 
... 

ExperminetalCondition 클래스 : 신청자 테이블 와

@Entity 
public class ExperimentalConditions { 
    private long experimental_id; 
    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    public long getExperimental_id() { 
     return experimental_id; 
    } 
    ...(getter,setters for other variables) 

    private Application application; 
    @ManyToOne 
    @JoinColumn(name = "applicationid") 
    public Application getApplication() { 
     return application; 
    } 
    ...(getter setters) 

같은 설정 내 applicationDAO 클래스에서 내가 그 자체가 3 개 개의 다른 테이블에 저장해야 테이블에서이 응용 프로그램 개체를 저장하고있다.

ApplicationDAO :

public void save(Application applicationData){ 
    getSession().save(applicationData); 
} 

이 내가이 방법을 저장 호출 오전 내 컨트롤러 클래스입니다.

@RequestMapping(value="/submitApp",method=RequestMethod.POST) 
public Application sumitApp(@RequestBody Application app){ 
    try{ 
     applicationDAO.save(app); 
    } 

이 3 개 테이블에 applicationForm에 대한 데이터를 저장하지만, APPLICATION_ID (외부 키) 신청자 및 experimentalconditions 테이블에 null을 보여줍니다. 따라서 데이터를 다시 가져 오려면 검색 할 수 없습니다. 내가 틀린 곳을 말해줘. 또한 당신이 다른 관계형 테이블 (신청자)에 대한 기본 응용 프로그램 데이터

applicationData.getExperimentRow().setApplicaiton(applicationData); 

반복 같은 일을 저장하기 전에 JSON 문자열에서 ExperimentalConditions 개체를 얻을이 줄을 쓸 필요가 configuraiton 관계 소유자 당으로

+0

json을 보면 디자인이 좋다고 느낍니다. Application 클래스는 다른 두 클래스를 포함해야합니다. –

+0

제 디자인이 왜 잘못되었는지 자세히 설명해 주시겠습니까? 나는 너를 잘 모으지 않았다. – Ag9

답변

1

+0

감사합니다. – Ag9

관련 문제