【问题标题】:Exception in setting the dataTable values in pojo class在 pojo 类中设置 dataTable 值的异常
【发布时间】:2013-12-22 08:20:04
【问题描述】:

我正在使用 Hibernate 处理 JSF。我有一个数据表,其中的值将使用 Hibernate(ORM) 从数据库中检索,

问题描述

我从不同的表中检索值并将其显示在 dataTable 中, 从 JSF 页面数据表,单击按钮,我将使用 <f:setPropertyActionListener >pojo 类中设置 dataTable 行值 所以我将使用这些值以供进一步使用,

  • 如果我从单个数据库表中检索值,它工作正常

  • 当我从不同的表中检索值并将其显示在 dataTable 中时,这些值未使用 <f:setPropertyActionListener > 设置在 pojo

它正在显示以下堆栈跟踪,

我不知道该怎么做,有什么建议吗?

【问题讨论】:

  • 您对所描述的问题有进一步了解吗?
  • @L-Ray 感谢您的考虑,实际上通过One-to-Many 映射我得到了解决方案..你熟悉休眠..

标签: hibernate jsf-2 datatable


【解决方案1】:

您正在使用/必须使用Converter 将数据表从客户端发送的字符串转换为服务器端的具体 Leaverecord-Object。这可以通过

  • @FacesConverter注解或
  • 扩展Converter-接口并连接到faces-config.xml 的类。

我猜,您尝试在此处检索不同的对象类型,因此前一个转换器不会起作用 - JSF 尝试在 POJO 的 getter 方法中放入 Object。我猜这个方法需要Leaverecord

检查您的 faces-config.xml 是否有类似的标签

    <converter>
        <converter-for-class>pojo.YourOtherClassType</converter-for-class>
        <converter-class>FittingClassTypeConverter</converter-class>
    </converter>

或在您的类中搜索 @FacesConverter(...) 之类的注释并为新对象类型添加适当的转换器。

希望对您有所帮助,否则只需添加 cmets... :-)

【讨论】:

  • 我希望你能理解我的问题,实际上我使用的是 xml 而不是注解类型休眠,所以你可以用一些代码绘制任何参考链接,了解在哪里以及如何使用 FacesConverter 进行 设置pojo中的值
  • 嗨,卡克,刚刚做了。在我看来,问题出在 jsf 部分,而不是 hibernate 部分。
  • 不,我不是这个意思,我想你理解错了,还是让我试试吧。
【解决方案2】:

我有一个解决方案,我们可以使用 Hibernate 不同类型的映射将 dataTable 值保存在 pojo 中。

  • 我用过one-to-many的概念

它与其他表相互关联,因此我可以存储从 dataTablepojo 类的值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-30
    • 1970-01-01
    • 1970-01-01
    • 2021-04-11
    相关资源
    最近更新 更多