我有一个包含约 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/