[hibernate-issues] [Hibernate-JIRA] Created: (HHH-4587) Criteria.createAlias : QueryException on @Embedded attributes

Marcos Antonio de Vasconcelos Junior (JIRA) noreply at atlassian.com
Wed Nov 18 05:59:12 EST 2009


Criteria.createAlias : QueryException on @Embedded attributes
-------------------------------------------------------------

                 Key: HHH-4587
                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-4587
             Project: Hibernate Core
          Issue Type: Bug
          Components: annotations, core, query-criteria
    Affects Versions: 3.3.0.GA
         Environment: Hibernate 3.3.0
MySql 5.1.29
            Reporter: Marcos Antonio de Vasconcelos Junior
            Priority: Blocker


Hi, recently i discover my app always throws a Exception when searching with alias in @Embedded fields.

The model look like this.

[code]
@Embeddable
public class Contato {
//attrs
}
@Table
@Entity(name = "motorista")
public class Motorista {
@Embedded
private Contato contato;
//+attrs
}
[/code]

And the following code:
[code]
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());
[/code]
Always throws QueryException and the StackTrace:

[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)
[/code]

When looking for a solution i discover this problem don't occurs when I use the @OneToMany + @JoinColumn annotations instead of @Embedded.

No one in hibernate forums and in a brazilian forum I'm member can't help, so I think it's a bug.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the hibernate-issues mailing list