- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Hibernate 的新手,我有以下疑问。我有这个实体类,并在我的类上声明了 2 个 JPQL 命名查询:
@NamedQueries({
@NamedQuery(name = "kmProjectInfoStatusList", query = "select status from KM_ProjectInfoStatus status order by status.idProjectInfoStatus") ,
@NamedQuery(name = "kmProjectInfoStatusById", query = "SELECT status FROM KM_ProjectInfoStatus status where lower(status.idProjectInfoStatus) = :statusId")
})
@Entity
@Table(name = "KM_PROJECT_INFO_STATUS")
public class KM_ProjectInfoStatus implements Serializable {
@Id
@GeneratedValue
private Long idProjectInfoStatus;
@Column(name = "foldertech")
private Long foldertech;
@Column(name = "folderproject")
private Long folderproject;
public Long getIdProjectInfoStatus() {
return idProjectInfoStatus;
}
public void setIdProjectInfoStatus(Long idProjectInfoStatus) {
this.idProjectInfoStatus = idProjectInfoStatus;
}
public Long getFoldertech() {
return foldertech;
}
public void setFoldertech(Long foldertech) {
this.foldertech = foldertech;
}
public Long getFolderproject() {
return folderproject;
}
public void setFolderproject(Long folderproject) {
this.folderproject = folderproject;
}
}
因此,我的实体类名为 KM_ProjectInfoStatus 并映射 KM_PROJECT_INFO_STATUS 数据库表。
我的疑问主要与JPQL命名查询的工作原理有关(我认为这是JPQL,对吗?),考虑第一个查询
@NamedQuery(name = "kmProjectInfoStatusList", query = "select status from KM_ProjectInfoStatus status order by status.idProjectInfoStatus")
具体是如何工作的?我认为所选的状态代表我的KM_PROJECT_INFO_STATUS数据库表的一行(因此它代表映射它的KM_ProjectInfoStatus实体的特定实例)
如果它是正确的,这意味着与标准 SQL 不同,在 JPQL 中我不是选择表字段的子集,而是选择映射整个表行的实体?
Tnx
最佳答案
在JPQL中,我们使用类和变量来生成查询,而不是表名和列名。您将从 Google 获得有关此内容的详细信息。
select status from KM_ProjectInfoStatus status order by status.idProjectInfoStatus
在上面的 JPQL 查询中,它正在检索所有状态对象,这些对象是 KM_ProjectInfoStatus 类的对象,内部映射到表 KM_PROJECT_INFO_STATUS。
因此您的 Hibernate 驱动程序会将这个 JPQL 查询转换为 sql 查询。您可以通过一些设置在控制台中打印这些 sql 查询来验证实际的 sql 查询。
关于java - 这个简单的 JPQL 查询究竟是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27702308/
Feel free to skip straight to TL/DR if you're not interested in details of the question 简短的序言: 我最近决定
我一直在阅读 A Tour of Go学习Go-Lang到目前为止一切顺利。 我目前在 Struct Fields类(class),这是右侧的示例代码: package main import "fm
Last time I got confused顺便说一下PowerShell急切地展开集合,基思总结了它的启发式如下: Putting the results (an array) within a
我是一名优秀的程序员,十分优秀!