Я пытаюсь получить целочисленные значения в выпадающем меню из таблицы Student_info, где student_id является первичным ключом, в другой таблице student_id - это внешний ключ, поэтому я
<p:selectOneMenu value="#{studentMarksController.studentMarksInfoApp.studentMarksInfoAdd.studentId}" id="student_id" required="true" requiredMessage="Student Id is required" >
<f:selectItems value="#{studentMarksController.studentMarksInfoApp.findStudentMarksInfoSt_id()}" />
<f:convertNumber />
</p:selectOneMenu>
в другой таблице student_id - это внешний ключ, поэтому я использую ниже запрос для получения значений из student_info
public List<StudentInfo> findStudentMarksInfoStuId(){
EntityManager em=getEntityManager();
try{
Query query=em.createQuery("SELECT s.studentId FROM StudentInfo s");
return query.getResultList();
}finally{
em.close();
}
}
проблема заключается в том, что в классе сущности класса Student_marks_allocation внешний ключ student_id имеет тип объекта, поэтому при вставке его дающей ошибки как недействительного числа
@JoinColumn(name = "STUDENT_ID", referencedColumnName = "STUDENT_ID")
@ManyToOne(optional = false)
private StudentInfo studentId;
Вам понадобится конвертер и методы equals и hashcode в bean-классе в вашем случае Student_info