hibernate:检索单个表上的某些字段,但在where子句中使用非选定字段

时间:2012-12-07 00:01:39

标签: hibernate

我希望使用spring / maven / hibernate将我们的staff目录移动到java中。

我对hibernate位有点困惑,特别是在声明我的类和映射时。

情况:

I got 10 fields in my table labelled column01 to column10.
I only want to retrieve columns 02, 07 to 10.
But my where clause would be using columns 01, 05 and 06.
  1. 当我创建我的类和hibernate映射XML时,即使我不使用所有列,声明所有字段也是一种好习惯吗?我是否应该声明字段,我只会使用where子句?

  2. 还可以在我的createSQL函数中使用特定于数据库的函数和关键字(在我的例子中,它是Oracle)吗?

  3. 我查看了HQL上的示例和jboss.org页面,但无法真正找到我所追求的内容。感谢

1 个答案:

答案 0 :(得分:0)

  1. 如果要使用HQL(Hibernate查询语言),则必须定义在映射中使用select子句,where子句,排序,分组的所有字段。所以你的第一个问题的答案是肯定的。

  2. 是的,你可以,Hibernate对使用Dialects的数据库了解很多,除了它支持Native Queries,甚至将DML查询映射到存储过程调用。请阅读documentations