【问题标题】:With JPA, EclipseLink, JSF and reporting dynamically使用 JPA、EclipseLink、JSF 和动态报告
【发布时间】:2012-11-23 01:35:03
【问题描述】:

我有 3 个数据库表,每个表都由一个实体类表示。我想要做的是用特殊条件连接这三个表,并从每个表中选择最多一列,将它们包装在一个对象中,并使用数据表在 JSF 层上显示该对象。

是否可以在不使用我的实体类的情况下使用动态实体类来做到这一点?有没有人解决这个问题?

将不胜感激任何帮助 非常感谢

【问题讨论】:

  • 您能否澄清“从每个表中选择最多一列”。是总是相同的 3 列,还是每个表中的列可以根据查询而改变?
  • 是每个表中的列可能会根据查询而改变。谢谢
  • 确定选择哪些列的逻辑在哪里:在SQL中,在一些基于结果的计算中?
  • 使用原生查询,选择的列不会相同,它们可能不同。所以我不想为每个本机查询创建实体类或使用实体类来改变它们的模式。
  • 您可以动态构建查询,将所需列放入选择列表中,将返回的对象分配给字段定义为 Object 的 bean,并将它们传递给将调用 @987654322 的 JSF 层bean 上的 @ 方法来访问列值。

标签: jsf jpa eclipselink


【解决方案1】:

您可以使用构造函数查询,或者只是简单地选择多个值并返回一个 Object[]。

http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Querying/JPQL#Constructors

您也可以只选择对象,然后在 Java 中从中提取您需要的内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-13
    • 2012-07-14
    • 1970-01-01
    • 2013-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多