如何映射多对多关系CritteriaBuilder

时间:2019-07-10 15:14:54

标签: java hibernate criteria hibernate-criteria

假设有一个表格Student与表格Courses有多对多关系。

我有一个表格,用户可以选择课程,程序会打印出这些课程中的学生。

这是research.xhtml:

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://xmlns.jcp.org/jsf/core"
    xmlns:p="http://primefaces.org/ui"
     xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:h="http://xmlns.jcp.org/jsf/html">

     <p:dataTable id="tableSearch" var="student" value="#{searchBean.searchStudents}" rows="10"
                     paginator="true"
                     paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
                     rowsPerPageTemplate="5,10,15">


    <p:column headerText="Course">
              <p:repeat value="#{student.coursesList}" var="item">
                    <h:outputText value="#{item.nameCourse}" />
               </p:repeat>
            </p:column>
    ...

表学生与表课程之间存在多对多关系(渴望负荷)。

如果我这样做:

<h:outputText value="#{item}" />

它为我打印了正确的对象号,但是没有正确的输出

(I read model.student@20)

当我这样做时:

我获得了:

lue="#{item.nameCourses}": Property 'nameCourses' not found on type org.hibernate.collection.internal.PersistentSet

但是该项目是课程类型。我检查get e设置值,并且在课程getNameCourses()ans setNameCourses()中;

0 个答案:

没有答案