2010-06-28 2 views
0

nHibernate가 UNION을 지원하지 않는다는 것을 알고있었습니다. 그러나 어떤 트릭이있다, 우리는 같은 등을 구현할 수 있습니다nHibernate에서 UNION을 사용하는 방법?

  1. 내가 < 테이블을 > <을 조인을 사용하는 기존 응용 프로그램이 서브 노조 클래스

를 사용

  • 원시 SQL을 사용하여/join table > 이제 UNION을 구현하고 싶습니다.

    파일 : .hbm.xml

    <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"> 
    <class name=""> 
    <id name="Id" column="ID" type="Int32"> 
    </id> 
    <!--Some properties are here -->  
    <property name="" column=""/> 
    <!--Relations --> 
    <many-to-one name="" column="" lazy="false"/> 
    <bag name="" inverse="false" lazy="false" cascade="none"> 
        <key column="ID" /> 
        <one-to-many class="" /> 
    </bag> 
    <join table="CAIMainDB.dbo.TClaimOnline"> 
        <key column="ID" foreign-key="ID"/> 
        <property name="" column=""/>  
    </join> 
        </class> 
    </hibernate-mapping> 
    

    파일 : mapper.cs

    <!-- Here I need to implement HQL or Raw SQL to achieve UNION -- > 
    

    파일 : 도메인 클래스

    다음

    는 응용 프로그램에서 파일 (들)입니다
    <!-- This contains the properties to set the aliases or map with columns -- >  
    public virtual int Id { get; set; } 
    

    아무튼 내 응용 프로그램의 현재 시나리오에서 구현하는 방법을 제안합니다.

  • 답변

    0

    정말 노조를해야합니까? 개체를 데이터베이스에서 다시 가져 오는 경우 반환 된 컬렉션을 연결하는 것으로 충분합니까?

    +0

    somemore 정보를 제공해주십시오. 나는 많은 시나리오를 시도했지만 결과를 얻지 못했습니까? –

    +6

    페이징을 수행중인 경우 모음 연결을 사용할 수 없습니다. 당신은 유니온 질의에 기반하여 10 개의 아이템만을 반환하기를 원합니다. – Craig

    관련 문제