Hi not sure it is fixed but wonder if your joincolumn shouldnt be id?
Romain Manni-Bucau @rmannibucau http://www.tomitribe.com http://rmannibucau.wordpress.com https://github.com/rmannibucau 2015-02-18 9:44 GMT+01:00 Leonardo K. Shikida <[email protected]>: > Hi > > I have a query like this > > public List<E> qbe(E example) { > OpenJPACriteriaBuilder cb = (OpenJPACriteriaBuilder) > entityManager.getCriteriaBuilder(); > CriteriaQuery<E> q = cb.createQuery(clazz); > Root<E> entity = q.from(clazz); > > q.where(cb.qbe(entity, example)); // query by example > q.select(entity); > > TypedQuery<E> tq = entityManager.createQuery(q); > return tq.getResultList(); > } > > for entities like this > > @Entity > @Table(name="APPUSER",uniqueConstraints=@UniqueConstraint(columnNames={"username"})) > public class User implements Serializable{ > /** > * > */ > private static final long serialVersionUID = 4411272750939441365L; > > @Id > @GeneratedValue(strategy = GenerationType.AUTO) > private Long id; > (...) > > and this > > @Entity > public class PasswordRotationJob implements Serializable{ > > (...) > @ManyToOne > @JoinColumn(name="userId") > private User submitter; > > The QBE query seems to assume a wrong column name > > Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: ORA-00904: > "T1"."USERID": invalid identifier > {prepstmnt 1347119244 SELECT t0.id,(...), t1.id, (...), t2.id, (...) > FROM PasswordRotationJob > t0, APPUSER t1, (...) WHERE (...) AND t0.userId = t1.userId(+) (...)} > [code=904, state=42000] > > Is this a bug? If so, was it addressed in TomEE 1.7.1? > > TIA > > Leo
