0
我有我的課的以下映射:Hibernate的標準與EmbeddedId不會產生正確的SQL查詢
@Entity
Class A{
@EmbeddedId
B id;
String notImportant;
}
@Entity
Class B {
C c;
}
Class C {
String name;
}
當我使用如下標準:
Criteria criteria = getCurrentSession().createCriteria(A.class);
criteria.createAlias("id.c", "c");
criteria.add(Restrictions.eq("c.name", "Whatever"));
criteria.list();
Hibernate:
/* criteria query */ select
this_.notImportant as DOAT2_77_0_
from
A this_
where
c.name=?
2017-04-15 21:03:02,211 ERROR [org.hibernate.util.JDBCExceptionReporter] - ORA-00904: "c"."name": identificador inválido
所以我明白,確定的「C」將由I定義nner加入... 作爲標準使用標識不聲明...