Hello,
Hibernate version: 1.1.4322
Name and version of the database you are using: Oracle 9.2.0.1.0
This code (using the ID column) works fine:
Code:
ITipoPedidoDao tipoPedidoDao = (new NHibernateDaoFactory().GetTipoPedidoDao());
ICriteria criteria = NHibernateSessionManager.Instance.GetSession().CreateCriteria(typeof(TipoPedido));
criteria.Add(Expression.Eq("CodGrupo.ID", 2));
List<TipoPedido> tipoPedido = tipoPedidoDao.GetByCriteria(criteria);
But, If I try to create a criteria using another field, I get error: "could not resolve property:CodGrupo.DescricaoGrupo of ABCDEFG.Faturamento.TipoPedido" Code:
ITipoPedidoDao tipoPedidoDao = (new NHibernateDaoFactory().GetTipoPedidoDao());
ICriteria criteria = NHibernateSessionManager.Instance.GetSession().CreateCriteria(typeof(TipoPedido));
criteria.Add(Expression.Like("CodGrupo.DescricaoGrupo", "Pro"));
List<TipoPedido> tipoPedido = tipoPedidoDao.GetByCriteria(criteria);
mapping XML:
Code:
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.0">
<class name="ABCDEFG.Faturamento.TipoPedido, ABCDEFG" table="T_ADF_PO_Pedido_tipo">
<id name="ID" column="cod_tipo_pedido" unsaved-value="0">
<generator class="native" />
</id>
<property name="Descricao" column="descricao" />
<many-to-one name="CodGrupo" class="ABCDEFG.Faturamento.TipoPedidoGrupo, ADFinance" column="COD_PEDIDO_TIPO_GRUPO"/>
</class>
</hibernate-mapping>
class:
Code:
using System;
using System.Collections.Generic;
using System.Text;
using ABCDEFG;
namespace ABCDEFG.Faturamento
{
public class TipoPedido : DomainObject<int>
{
private string descricao;
public string Descricao
{
get { return descricao; }
set { descricao = value; }
}
private TipoPedidoGrupo codGrupo;
public TipoPedidoGrupo CodGrupo
{
get { return codGrupo; }
set { codGrupo = value; }
}
public TipoPedido() { }
}
}