【发布时间】:2015-07-10 05:54:33
【问题描述】:
我有以下两个名为wc_content_definition 和simple_web_content 的表以及与这些表相对应的两个pojo,即WebContentDefinition 和SimpleWebContent。我使用的数据库是 PostgreSQL 。现在我正在尝试编写一个查询,将两个表与 simple_web_content 表中的一个字段和 wc_content_definition 表中的所有字段连接起来。
我现在使用的查询是:
select wc.*,swc.content_data from wc_content_definition wc, simple_web_content swc where swc.web_content_definition_id = wc.web_content_definition_id and wc.web_content_definition_id = 491 and wc.site_id = 9 order by swc.version_number desc ;
我正在尝试实现一个休眠查询而不是这个。 pojo 中与content_data 列对应的字段名称为simpleWebContentData。我目前的实现如下:
public Object[] getDocLibContentByContentId(int contentId, int siteId) throws HibernateException
{
Session session = getCurrentSession();
String sql = "select wc.*,swc.content_data from wc_content_definition wc, simple_web_content swc where swc.web_content_definition_id = wc.web_content_definition_id and wc.web_content_definition_id = :contentId and wc.site_id = :siteId order by swc.version_number desc ";
SQLQuery query = session.createSQLQuery(sql);
query.setParameter("contentId", contentId);
query.setParameter("siteId", siteId);
List<Object[]> results = query.list();
if (results != null && !results.isEmpty())
{
return results.get(0);
}
return null;
}
我创建了一个名为SimpleWebContentHB 的新类,它有两个字段simpleWebContentData 和WebContentDefinition。有什么方法可以运行正确的休眠查询并获得返回类型为SimpleWebContentHB
【问题讨论】:
-
你现在得到的是一个包含 wc_content_definition 和 simple_web_content.swc.content_data 的所有字段的数组。但我想你想得到一个 WebContentDefinition 对象和 content_data 值?
-
是的,这正是我要找的,我创建了一个包含这两个名为 SimpleWebContentHb 的类,试图获得该类型的返回
标签: java hibernate postgresql