【发布时间】:2017-10-27 09:10:49
【问题描述】:
我正在使用 JPA createquery API 来获取数据。
这是我的查询数据
@PersistenceContext
EntityManager entityManager;
@Override
public List<String> fetchAllReleaseNumbers() {
Query query = entityManager.createQuery("SELECT release FROM ReleaseModel", String.class);
return query.getResultList();
}
这是我的 pojo 课。
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "dbname.tablenamefromDB")
public class ReleaseModel {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "dbcolumnname", unique = true, nullable = false)
private String release;
@Column(name = "dbcolumnname")
private String releaseDesc;
@Column(name = "dbcolumnname")
private Integer releaseStatus;
@Column(name = "dbcolumnname")
private Integer releaseMode;
public String getRelease() {
return release;
}
public void setRelease(String release) {
this.release = release;
}
public String getReleaseDesc() {
return releaseDesc;
}
public void setReleaseDesc(String releaseDesc) {
this.releaseDesc = releaseDesc;
}
public Integer getReleaseStatus() {
return releaseStatus;
}
public void setReleaseStatus(Integer releaseStatus) {
this.releaseStatus = releaseStatus;
}
public Integer getReleaseMode() {
return releaseMode;
}
public void setReleaseMode(Integer releaseMode) {
this.releaseMode = releaseMode;
}
}
虽然表存在于 db 中,但它的抛出不存在。任何我犯错误的想法。 我尝试了是否可以为表名赋予任何别名。 我仅将 pojo 类名用于 createQuery。
TIA。
【问题讨论】:
-
尝试 entityManager.createQuery("SELECT a.release FROM ReleaseModel a", String.class);
-
尝试将实体名称配置为ReleaseModel并尝试再次执行。
-
@BalajiKrishnan 我已经试过了
-
@PrasadReddy 我没听懂你。你能在这里发帖作为一个 sn-p 以便它会有所帮助
-
你的意思是这样@Entity(name = "ReleaseModel")