java - 根据指定列动态查询

标签 java object

我有一个包含约 20 个字段的大表。我可以根据查询(例如 id、created_on、温度)返回 List 元素,而无需在类 T 中为每种可能的字段组合创建构造函数吗?

让我们这样说:

Query q = em.createQuery("SELECT id, created_on, temperature FROM Table");
result = (List<T>) q.setMaxResults(300).getResultList();

如果我没有针对这种特定情况的构造函数,它可以工作吗?我可以获得 T 对象的列表吗?

最佳答案

使用 projections 会更干净,但是如果您打算对 20 列进行多种不同的组合,则单独选择它们会得到返回类型 Object[] ,列值位于各自的索引中。

所以不,你不会得到 List<T> ,您会得到 List<Object[]> .

关于java - 根据指定列动态查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58164298/

相关文章:

java - 在新 Activity 中找不到 id 的 View

java - 如何垂直移动 JApplet 中的图像?

javascript - 如何从 json 数组中删除名称字段?

android - 将 Parcelable 对象存储到 Android 中的文件

javascript - 按两个键对对象数组进行排序和分组,并使用新键创建分组项数组

java - 为什么在 Java 中允许不同类型的对象引用?

java - GWT TextArea 监听器

java - 可动态调整大小的线程池

C++成员变量初始化,但首先在里面做一些工作

javascript - 将嵌套对象数组转换为 Nodejs Buffer