- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试从 Java 服务层进行简单的选择,这是我的模型:
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Embeddable;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.Table;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
@Entity
@Table(name="PROF_INFO")
public class ProfileInfo {
@EmbeddedId
private ProfileInfoPK profileInfoPK;
@Column(name="RATING", nullable = true )
private Integer rating;
@Column(name="VIEW_DATE", nullable = false )
private java.util.Date viewDate;
@Column(name="CONTACT_DATE", nullable = true )
private java.util.Date contactDate;
@Column(name="REPORTED_DATE", nullable = true )
private java.util.Date reportedDate;
@Column(name="REPORTED_TYPE", nullable = true )
private Integer reportedType;
@Column(name="REPORTED_COMMENT", nullable = true )
private String reportedComment;
public Integer getRating(){
return this.rating;
}
public void setRating(Integer rating){
this.rating = rating;
}
public java.util.Date getViewDate(){
return this.viewDate;
}
public void setViewDate(java.util.Date viewDate){
this.viewDate = viewDate;
}
public java.util.Date getContactDate(){
return this.contactDate;
}
public void setContactDate(java.util.Date contactDate){
this.contactDate = contactDate;
}
public java.util.Date getReportedDate(){
return this.reportedDate;
}
public void setReportedDate(java.util.Date reportedDate){
this.reportedDate = reportedDate;
}
public Integer getReportedType(){
return this.reportedType;
}
public void setReportedType(Integer reportedType){
this.reportedType = reportedType;
}
public String getReportedComment(){
return this.reportedComment;
}
public void setReportedComment(String reportedComment){
this.reportedComment = reportedComment;
}
@Embeddable
public static class ProfileInfoPK implements Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
@Column(name="PST_USER_ID", nullable = false )
private Integer pstUserId;
@Column(name="FILE_NAME", nullable = false )
private String fileName;
public Integer getPstUserId() {
return pstUserId;
}
public void setPstUserId(Integer pstUserId) {
this.pstUserId = pstUserId;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((fileName == null) ? 0 : fileName.hashCode());
result = prime * result
+ ((pstUserId == null) ? 0 : pstUserId.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
ProfileInfoPK other = (ProfileInfoPK) obj;
if (fileName == null) {
if (other.fileName != null)
return false;
} else if (!fileName.equals(other.fileName))
return false;
if (pstUserId == null) {
if (other.pstUserId != null)
return false;
} else if (!pstUserId.equals(other.pstUserId))
return false;
return true;
}
}
public ProfileInfoPK getProfileInfoPK() {
return profileInfoPK;
}
public void setProfileInfoPK(ProfileInfoPK profileInfoPK) {
this.profileInfoPK = profileInfoPK;
}
}
这是我的 DAOImpl:
public List<ProfileInfo> getByEntityandFileName(String entityId,
String fileName)throws NoSuchProfileInfoException , SystemException{
Query query = null;
List<ProfileInfo> results = null;
try{
query = sessionFactory.
getCurrentSession().
createQuery("from ProfileInfo where PST_USER_ID = :PST_USER_ID"); //AND FILE_NAME IN (:FILE_NAME)");
query.setParameter("PST_USER_ID", entityId);
//query.setParameterList("FILE_NAME", fileName.split("\\s*,\\s*"));
}catch(Exception ex){
throw new SystemException(ex);
}
if (query != null) {
results = query.list();
}else{
throw new SystemException("Query Null");
}
if (null != results && !results.isEmpty()) {
return results;
} else {
throw new NoSuchProfileInfoException("No Results Returned");
}
}
}
数据库在 PST_USER_ID、FILE_NAME 上具有 PK 索引
和描述
desc PROF_INFO
Name Null Type
---------------- -------- --------------
PST_USER_ID NOT NULL NUMBER(38)
FILE_NAME NOT NULL VARCHAR2(32)
RATING NUMBER(38)
VIEW_DATE NOT NULL DATE
CONTACT_DATE DATE
REPORTED_DATE DATE
REPORTED_TYPE NUMBER
REPORTED_COMMENT VARCHAR2(1000)
一切看起来都很简单,但是当我尝试查询时,我收到以下错误:
org.hibernate.hql.internal.ast.QuerySyntaxException: ProfileInfo is not mapped [from ProfileInfo where PST_USER_ID = :PST_USER_ID]
不知道罪魁祸首是什么,但左边有东西。你们觉得有什么地方不合适吗?
最佳答案
您将 pur SQL 与 HQL 混合在一起。应该是
createQuery("from ProfileInfo where profileInfoPK.pstUserId = :PST_USER_ID");
检查profileInfoPK.pstUserId部分。
关于java - QuerySyntaxException 但实体已映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28869236/
我有一个像这样的 UserAssignmentRole 类: @Data @Entity public class UserAssignmentRole { ... @Enumerat
尝试从 Java 服务层进行简单的选择,这是我的模型: import java.io.Serializable; import javax.persistence.Column; import jav
我有以下类(class): public class MyClass { private List _myList = new List(); public virtual strin
当我尝试使用 Hibernate 创建任何数据库查询时,我犯了同样的错误: Error code 道法: @Override public List findAll() { openCurre
我正在关注这个Tutorial 。我添加了另一个 DAO,用于检索 admin_roles 表。该方法如下所示 public List findAllAdminRoleByUserName(Strin
我目前正在从事一个实用程序项目,该项目将帮助我管理应用程序的用户(一个用户有一个或多个角色,一个角色有一个或多个权限)。我是 Hibernate 的新手,不知道为什么会遇到以下问题: ERROR [h
我目前正在从事一个实用程序项目,该项目将帮助我管理应用程序的用户(一个用户有一个或多个角色,一个角色有一个或多个权限)。我是 Hibernate 的新手,不知道为什么会遇到以下问题: ERROR [h
当我尝试执行下一个 HQL 查询时,出现下一个错误: org.hibernate.hql.internal.ast.QuerySyntaxException: Unable to locate app
我已经创建了一个 Hibernate 配置 maven 项目(使用 maven-shade-plugin 构建)以允许我的代码库使用一个统一的“数据库类”。但是,当从正在运行的项目外部调用时,该类似乎
是的,我知道有一些关于此错误的帖子,但没有一个对我有帮助。我的 hql 查询出现此错误: @SuppressWarnings("unchecked") @Override public List ge
我用 spring-boot 开始了一个新项目,以 MySQL 作为数据库系统。但是当我从数据库中读取数据时,我得到了 org.hibernate.hql.internal.ast.QuerySynt
我查询了 3 个具有 HQL 类的表。存在一些一对多的关系。 我的数据库或我的实体类都没有问题.. 我有一些 hibernate DAO 类查询,除了这个以外其他都很好.. jasperreport
我一直在玩一个非常简单的 JPA 示例,并试图将其调整为现有数据库。但我无法克服这个错误。 (下。)它只是一些我没有看到的简单的东西。 org.hibernate.hql.internal.ast.Q
我从前端发送一个值来搜索我的实体 Producto 的两个属性。该属性是Codigo 和Description。 问题是当 TypedQuery typedQuery = em.createQuery
完整错误消息: 11:49:51,896 INFO [stdout] (http-localhost-127.0.0.1-8080-1) javax.ejb.EJBException: java.la
我是 JPA 新手,正在尝试创建 EJB 3.0 + JPA( hibernate )应用程序。当我将数据持久保存到数据库时出现异常。 sessionBean方法: @PersistenceC
我的Spring数据查询是: @Query("FROM NewsFeed nf where dealRoom.id =:dealRoomId and (fileFolder IN :folders o
我收到这个错误: Caused by: javax.ejb.EJBException: java.lang.IllegalArgumentException: org.hibernate.hql.in
在使用 Hibernate 构建查询时,我注意到一些相当奇怪的事情。如果我为 ORDER BY 子句使用顺序命名参数,Hibernate 会抛出一个 QuerySyntaxException(冒号前缀
我收到一个错误,如下所示: java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: Direct
我是一名优秀的程序员,十分优秀!