actually, I thought joincolumn here would be the FK name, not the referenced PK name in the other table
[] Leo On Wed, Feb 18, 2015 at 7:01 AM, Romain Manni-Bucau <[email protected]> wrote: > 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 >
