Hi, recently i discover my app always throws a Exception when searching with alias in @Embedded fields.
Like this.
Code:
@Embeddable
public class Contato {
//attrs
}
@Table
@Entity(name = "motorista")
public class Motorista {
@Embedded
private Contato contato;
}
And the following code:
Code:
public static void main(String[] args) {
Session s = HibernateUtil.openSession();
Criteria crit = s.createCriteria(Motorista.class);
crit.createAlias("contato", "contato");
crit.add(Restrictions.like("contato.nome", "jo",
MatchMode.ANYWHERE));
System.out.println(crit.list().size());
}
Throws this exception:
Code:
Exception in thread "main" org.hibernate.QueryException: could not resolve property: nome of: br.com.sistram.model.prestador.Motorista
at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:44)
at org.hibernate.persister.entity.AbstractPropertyMapping.toType(AbstractPropertyMapping.java:38)
at org.hibernate.persister.entity.AbstractEntityPersister.getSubclassPropertyTableNumber(AbstractEntityPersister.java:1379)
at org.hibernate.persister.entity.BasicEntityPropertyMapping.toColumns(BasicEntityPropertyMapping.java:31)
at org.hibernate.persister.entity.AbstractEntityPersister.toColumns(AbstractEntityPersister.java:1354)
at org.hibernate.loader.criteria.CriteriaQueryTranslator.getColumns(CriteriaQueryTranslator.java:434)
at org.hibernate.loader.criteria.CriteriaQueryTranslator.getColumnsUsingProjection(CriteriaQueryTranslator.java:394)
at org.hibernate.criterion.SimpleExpression.toSqlString(SimpleExpression.java:45)
at org.hibernate.loader.criteria.CriteriaQueryTranslator.getWhereCondition(CriteriaQueryTranslator.java:334)
at org.hibernate.loader.criteria.CriteriaJoinWalker.<init>(CriteriaJoinWalker.java:90)
at org.hibernate.loader.criteria.CriteriaJoinWalker.<init>(CriteriaJoinWalker.java:59)
at org.hibernate.loader.criteria.CriteriaLoader.<init>(CriteriaLoader.java:67)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1550)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
at br.com.sistram.util.DaoListPaginator.main(DaoListPaginator.java:160)
If i change to @OneToOne this code work perfectly, but i need a solution using the embedded values. Someone can help?
Ty.