0
我遇到了NHibernate的一些问题,当涉及到映射多对多关系,特别是这一个。许多到很多NHibernate
我有一个类别表,每个父母可以拥有尽可能多的孩子,因为它需要,它也可以是父母。
当我尝试选择类别表的东西,我得到一个错误:
错误:42601:“”语法错误或接近
任何机会,你可能会弄清楚为什么抛出这个错误?
非常感谢球员
继承人的选择
System.Collections.IList resultado2 = sessao.Find("select c.IdCategoria,c.NomeCategoria,c.CategoriasFilhas from Categoria c");
继承人的表
CREATE TABLE category
(
id_cat serial not null,
id_cat_p integer not null,
nm_cat string (256) not null,
...
);
我的C#类
public class Categoria
{
private int idCategoria;
private string nmCategoria;
private int nivelCategoria;
private int rankCategoria;
private IList<Categoria> categoriasFilhas;
public virtual int IdCategoria
{
get { return this.idCategoria; }
set { this.idCategoria = value; }
}
public virtual string NomeCategoria
{
get { return this.nmCategoria; }
set { this.nmCategoria = value; }
}
public virtual int NivelCategoria
{
get { return this.nivelCategoria; }
set { this.nivelCategoria = value; }
}
public virtual int RankCategoria
{
get { return this.rankCategoria; }
set { this.rankCategoria = value; }
}
public virtual IList<Categoria> CategoriasFilhas
{
get { return this.categoriasFilhas; }
private set { this.categoriasFilhas = value; }
}
}
这里是映射
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="GeoBiblio" namespace="GeoBiblio.Classes.Orm">
<class name="Categoria" table="categoria" discriminator-value="categoria">
<id name="IdCategoria" type="Int32" column="id_categoria" unsaved-value="0" access="property">
<generator class="sequence">
<param name="sequence">categoria_id_categoria_seq</param>
</generator>
</id>
<property name="NomeCategoria" column="nm_categoria" type="String" unique="true"/>
<property name="NivelCategoria" column="nivel_categoria" type="Int32"/>
<property name="RankCategoria" column="rank_categoria" type="Int32"/>
<bag name="CategoriasFilhas" table="categoria" fetch="select" inverse="true" lazy="true">
<key column="id_categoria_pai"/>
<many-to-many class="Categoria" column="id_categoria" order-by="rank_categoria"/>
</bag>
</class>
</hibernate-mapping>
我会尝试哟进一步研究HQL。我仍然是一个新手在休眠:D 谢谢 – 2010-04-26 14:26:35
它现在的作品。谢谢。以下是我正在查找的以下查询: “from Categoria c where c.IdCategoria = 1” 因此只选择父母,并且它是孩子。另一个查询给了我一个所有节点和孩子的列表,重复了一堆信息。 – 2010-04-26 14:38:08
我很高兴它的工作 – Burt 2010-04-26 15:14:46