Ошибка проверки: значение недопустимо в jsf

0

Я пытаюсь получить целочисленные значения в выпадающем меню из таблицы 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;
  • 0
    Вы можете создать собственный конвертер для этого.
Теги:
jsf

1 ответ

0

Вам понадобится конвертер и методы equals и hashcode в bean-классе в вашем случае Student_info

  • 1
    Это очень краткий ответ. Как бы вы реализовали это решение?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню