我正在尝试使用会话执行SQL查询。createSQLQuery()
Hibernate方法。
test
表有三列:
工作
String sql = "SELECT * FROM test";
SQLQuery query = session.createSQLQuery(sql);
query.addEntity(Test.class);
List<Test> testEntityList = query.list();
不工作
String sql = "SELECT col1, col2 FROM test";
SQLQuery query = session.createSQLQuery(sql);
query.addEntity(Test.class);
List<Test> testEntityList = query.list();
错误:
在此ResultSet中找不到列col3。
我只需要从表中检索几个特定的列,而不是整个表。
我该如何实现这一点?
您可以使用hibernate projections,查看这个答案hibernate Criteria查询来获取特定的列,也可以通过将返回类型更改为
列表
List<Object[]> testEntityList = query.list();
List<Test> res = new ArrayList<Test>(testEntityList.size());
for (Object[] obj : testEntityList) {
Test test = new Test();
test.setCol1(obj[0]);
test.setCol2(obj[1]);
res.add(test);
}
最近,我在使用标准应用编程接口时遇到了问题。这是我第一次接触它。这是我的办公室实体的一部分。 目标-从特定的办公室实体获取工人实体列表。到目前为止,我已经知道如何通过以下方式实现目标: 它工作得很好,但我认为我太依赖JavaList接口方法而不是CriteriaAPI。我可以通过在Criteria中创建适当的查询来获取WorkerEntity(OfficeEntity中的字段“workers”)列
我使用hibernate进行数据库通信。我有一个类: 现在我想用它的主键来获取这个对象,但是这个对象应该只有特定的列? 我尝试使用标准和投影,它返回一个结果,但它没有映射到我期望的对象(Person Object) 任何想法如何解决这个问题使用Hibernate查询/标准? 谢谢
我试图使用hibernate获取一些特定的列,但此查询总是失败。 此查询总是失败,因此我使用以下查询 如何使用hibernate只获取特定列,而不是获取20个列?
问题内容: 如何使用JavaScript从下拉列表中获取选定的值? 我尝试了下面的方法,但是它们都返回选择的索引而不是值: 问题答案: 如果您有一个如下所示的select元素: 运行此代码: 将成为。如果您真正想要的是,请执行以下操作: 这将成为
问题内容: 我在Python列表中有一堆列名。现在,我需要将该列表用作语句中的列名称。我怎样才能做到这一点? 到目前为止,我有: 问题答案: 您无法传递要选择作为参数的列列表。它应该是您的SQL表达式的一部分,例如: 要注意的一件事是,SQL中参数值的占位符取决于数据库。如果不起作用,请尝试使用或。有关更多详细信息,请参见https://www.python.org/dev/peps/pep-02
我有根实体及其单个关联。 当我获取实体时,我需要急切地获取,但只有的3个属性:userId、afstName、lastName。 现在我的标准查询是: 接下来,我执行,我得到了sql语句,它只选择了投影列表中指定的的3个属性。但它不选择根<code>Hostel</code>实体的任何属性。生成的查询为: 此查询不起作用,因为它返回五个空的。五个映射是因为有五个<code>Hostel</code