Как установить и получить значение из составного ключа - PullRequest
0 голосов
/ 22 января 2019

Я пытаюсь установить значение cid в классе ученика, используя SubjectMark->private String cid; Как установить и получить значение в моем контроллере. Метод объекта и контроллера ниже:

@Entity
public class Student implements Serializable {
    private static final long serialVersionUID = 1L;
    @EmbeddedId
    private SubjectMark id;
    private String fullName;
    private Integer totalMarks;
    private Double percentage;
    private String grade;
    //Setters and getters
}


//Composit class
@Embeddable
public class SubjectMark implements Serializable {
//Composit key
private String cid;
//Setters and getters

}

В моем контроллере я пытаюсь установить значение следующим образом:

@RequestMapping(value="getstdata",method=RequestMethod.GET)
@ResponseBody
public String getstdata(@RequestParam(value="cid")String cid){  
//Some code
try{

Student st=new Student();
st.getId().setCid(cid);//Set value like this but it is getting null pointer exception
//some code

//retuen some value
}

Пожалуйста, помогите мне!

Ответы [ 2 ]

0 голосов
/ 22 января 2019

1-я часть вопроса:

Я пытаюсь установить значение cid в классе ученика, используя SubjectMark-> private String cid;Как установить и получить значение в моем контроллере.

@Entity
@Table
public class Student implements Serializable {
private static final long serialVersionUID = 1L;
@EmbeddedId
private SubjectMark subjectMarkId;
private String otherField;
// setters, getters
}

//Composite class
@Embeddable
public class SubjectMark implements Serializable {
private String cId;
// setter, getter
}


//Controller
@GetMapping(value = "getstdata")
public String getStData(@RequestParam(value="cid") String cid) {
Student student = new Student();

student.setSubjectMark(new SubjectMark());
student.getSubjectMark().setCId(cid);//cid value dynamic
// some other code
return "";
}

2-я часть вопроса:

Теперь одна из причин нулевого исключения возникает, когда вы пытаетесь вызвать метод (либо сеттер, либо геттер) из нулевого объекта.

0 голосов
/ 22 января 2019

вам нужно написать метод get set в вашем классе, я думаю ... попробуйте написать что-то вроде

private String cid;

public String Cid {get => cid;set => cid = value;}

...