当前位置: 首页 > 面试题库 >

javax.el.PropertyNotFoundException:在org.hibernate.collection.internal.PersistentSet类型上找不到属性

甄正信
2023-03-14
问题内容

我尝试从协会ManyToMany中调出数据,但是我不能,这是我的代码。

实体产品:

@Entity
public class Produit implements Serializable {

@Id
@Column(name="Produit_ID")
@GeneratedValue
private Long id;
private String dq;
private String icForme;
private String ich;
private String icht;

@ManyToMany(cascade = {CascadeType.ALL})
 @JoinTable(name="produit_terminal", 
                joinColumns={@JoinColumn(name="Produit_ID")}, 
                inverseJoinColumns={@JoinColumn(name="Terminal_ID")})
    private Set<Terminal> terminals = new HashSet<Terminal>();

//getter setter

实体终端:

@Entity
public class Terminal implements Serializable{

@Id
@GeneratedValue
@Column(name="Terminal_ID")
private Long id;
private String crimpkontakt;
private String equipment;
private String geometrie;
private String dcbt;
private String icb;
private String ak;

@ManyToMany(mappedBy="terminals")
private Set<Produit> produit = new HashSet<Produit>();

//getter setter

类别:模块JPADao

public List<Produit> parProduit(String cat){
    cat = "%" + cat + "%";
    Query query = getEntityManger().createQuery( "from "+ getPersistentClass().getSimpleName()
            +" u where u.produit LIKE :cat").setParameter( "cat", cat );
    List<Produit> module = (List) query.getResultList();
    return module;

}

类别:ModuleService

public List<Produit> tousModuleProduit(String produit) {

    if(produit!= null){
        return moduleDao.parProduit(produit);
    }
    else{
        return null;
    }
}

main-flow.xml

<view-state id="accueil" view="accueil.xhtml">
    <on-render>
        <evaluate expression="moduleService.tousModuleProduit(module.getProduit())"
            result="viewScope.recherche" />

    </on-render>
</view-state>

file.xhtml

 <p:accordionPanel value="#{recherche}" var="car">

                    <p:tab title="IcForme : #{car.icForme}">

                        <h:panelGrid columns="4" cellspacing="20">

                            <p:outputLabel value="ICHT: " />
                            <p:inputText value="#{car.icht}" />

                            <p:outputLabel value="terminals : " />
                            <h:form>
                                <h:dataTable value="#{car.terminals}" var="der" >
                                    <p:column>
                                        <h:outputText value="#{der.geometrie}" />
                                    </p:column>

                                </h:dataTable>
                            </h:form>


                        </h:panelGrid>
        ....

我无法获得几何的价值;我得到这个错误:

javax.el.PropertyNotFoundException:/WEB-INF/flows/main/accueil.xhtml @ 84,53 value =“#{der.geometrie}”:在类型org.hibernate.collection.internal.PersistentSet上找不到属性'geometrie'

问题答案:
<h:dataTable value="#{car.terminals}" var="der">
    <p:column>
        <h:outputText value="#{der.geometrie}" />

javax.el.PropertyNotFoundException:在类型org.hibernate.collection.internal.PersistentSet上找不到属性“
geometrie”

因此,#{car.terminals}Set<E>。的<h:dataTable><p:dataTable><ui:repeat>组件不支持迭代一个Set<E>。这样,#{der}遗嘱基本上就代表了Set<E>自己。Set<E>将来的JSF
2.3版本将提供对迭代的内置支持。

如果不是更换一个选项Set<E>List<E>,然后就得到一个阵列出来的,如下:

<h:dataTable value="#{car.terminals.toArray()}" var="terminal">


 类似资料:
  • 我得到了这个错误,我不知道问题可能在哪里。“userid”列位于数据库和bean中。有人知道吗?

  • 我一直试图通过ArrayList在Servlet的帮助下在JSP内部打印ResultSet。JDBC部分似乎没有问题。ArrayList可以在JSP内部获得并打印。但是当我想用标记迭代传递到JSP上的列表时,它说我的bean类'purejavaclasses.EmployeeClass'没有属性'id'。我已经尝试了很多不同的解决方案,但都是徒劳的。我不知道该怎么做。我是一个完全的JavaEE初学

  • 您好,我正在建立一个动物园微服务,包括动物、员工、客户和价格表。我的动物微服务可以工作,但在我的员工微服务中,我遇到了一个错误,即没有为类型“EmployeeModel”找到属性“name”。在问这个问题之前,我已经在网上搜索了几个小时,还有一些类似的问题。我在模型中没有“名字”employee_name,我只是感到困惑,不知道如何修复它。任何指导/建议/信息将不胜感激:)第一次发布,所以我希望我

  • 在尝试创建一对多(以及多对一)关系时,我遇到以下错误: 以下是完整的故事。目前在这些课程中,我有以下几点: LoginUser.java 用户角色。JAVA 用户角色存储。JAVA 开始atabase.java 我得到的全部错误是: 我不完全确定在哪里或为什么它试图找到一个属性的id时,我显然已经设置了所有类型的UserRole。

  • 学习Typescript并尝试构建一个简单的文本框,在提交文本后显示文本。 我能够很好地捕捉输入,现在试图将其报告给用户。 问题出在编译类型上。脚本给出了以下错误消息:类型“htmldevelment”上不存在属性“value”。 我只是想分配div messageList的值来打印数组(现在还不关心格式)。 我一直在网上搜索,我能找到的大部分都说一定是命名错误,我尝试将名称更改为1,但仍然没有乐

  • 我有实体,并且我希望获得按排序的所有项,但是出现错误消息的属性start。 错误日志