【发布时间】:2013-01-30 09:56:36
【问题描述】:
简要介绍一下我正在尝试做的事情。
我有三个表 Content(contentId, body, timeofcreation), ContentAttachmentMap(contentId, attachmentId) 和 Attachment(attachmentId, resourceLocation)。
我采用创建映射表的原因是因为在将来的应用程序中附件也可以与不同的内容共享。
现在我正在使用 HQL 来获取数据。我的目标如下:
- 获取所有带/不带附件的内容
我在网上看到过一些例子,比如你可以创建一个特定于目标的类(不是 POJO),并将 select 语句中的属性名称放在其构造函数中,然后返回该类对象的列表。
例如HQL 将是SELECT new com.mydomain.myclass(cont.id, cont.body) ..... 等等。
就我而言,我正在寻找以下SELECT new com.mydomain.contentClass(cont.id, cont.body, List<Attachment>) FROM ...`。是的,我想让 resultList 包含 contentid、contentbody 和其附件列表作为单个结果列表项。如果没有附件则返回 (cont.id, contentbody, null)。
这可能吗?也告诉我怎么写SQL语句。
提前致谢。
【问题讨论】: