가입에 대한 예상 경로, 나는이 예외를HQL 왼쪽 가입하기 - org.hibernate.hql.internal.ast.ErrorCounter - 아래 코드를 실행하는 동안
DB 뷰오류 org.hibernate.hql.internal.ast을 얻었다. ErrorCounter - 예상 경로는 입니다.
Entity 클래스 : DB 테이블에 대한
@NamedQueries({
@NamedQuery(name = "find",
query = "SELECT v.cxxx, trk.cxxx, trk.ixxx"
+ "FROM AxxxCxxx as v LEFT JOIN AxxxCxxxTxxx as trk "
+ "ON v.cxxx = trk.cxxx "
)
})
@Entity
@Table(name = "V_XXX")
public class AxxxCxxx implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "CXXX")
private String cxxx;
//getter, setter
}
Entity1 클래스 :
@Entity
@Table(name = "T_XXX")
public class AxxxCxxxTxxx extends Super implements
Serializable {
private static final long serialVersionUID = 1L;
@Column(name = "CXXX")
private String cxxx;
//getter, setter
}
슈퍼 클래스 :
@MappedSuperclass
public abstract class Super implements Serializable {
private static final long serialVersionUID = -1413197336548058176L;
@Id
@Column(name = "TXXX", nullable = false)
private Integer txxx;
@Column(name = "IXXX", length = 15)
private String ixxx;
//getter, setter
}
나는 NamedQuery를 실행하려고, 이 예외가 있습니다 :
Caused by: org.hibernate.HibernateException: Errors in named queries: find
at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:504)
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:444)
at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:802)
... 26 more
org.hibernate.hql.internal.ast.QuerySyntaxException: Path expected for join! [SELECT v.cxxx, trk.cxxx, trk.ixxx"
+ "FROM AxxxCxxx as v LEFT JOIN AxxxCxxxTxxx as trk "
+ "ON v.cxxx = trk.cxxx]
org.hibernate.hql.internal.ast.InvalidPathException: Invalid path: 'trk.ixxx'
at org.hibernate.hql.internal.ast.util.LiteralProcessor.lookupConstant(LiteralProcessor.java:114) ~[hibernate-core-5.0.5.Final.jar:5.0.5.Final]
제발, 도와 줄 수 있습니까? MappedSuperClass에 대해 JPQL을 사용하여 뷰와 테이블로 왼쪽 조인을 해결할 수 있습니까?