2011-03-16 6 views
0

나는 오히려 사소한 일을 할 수있다 요구 될 수있는 문제 에서 의 사용하지만, 누군가가 나에게 다음과 같은 코드 사이 differnce 설명을 요청 : 가 NHibernate에

<id name="Key" column="Date_Interval_Key" type="long" > 
    <generator class="sequence" > 
    <param name="sequence">SEQ_DATE_INTERVAL</param> 
    </generator> 
</id> 

과 유사한 코드를하지만, 여기서 우리는 param 태그를 사용하지 않습니다. 내가 이해할 수없는 것은 SEQ_DATE_INTERVAL이 참조하는 것입니다. 매개 변수가 구성하는 데 필요한 또는 발전기 인스턴스를 초기화하는 경우, 그들은 PARAM 요소를 사용하여 전달됩니다

: 인터넷에 검색 나는 것을 알아 냈다.

그러나 누군가 내게이 SEQ_DATE_INTERVAL (또는 그 값)이 내 코드에서 전달 된 위치를 설명 할 수 있습니까? 유용하거나 태그를 사용하지 않고 계속할 수 있습니까?

답변

1

paramId 엔티티 값을 얻기 위해 (아마도) Oracle 시퀀스를 사용하도록 NHibernate에게 지시하고 있습니다. 만약 param을 지정하지 않으면, NHibernate는 Hibernate_Sequence이라는 일반적인 것을 사용할 것이다.

+0

답변 해 주셔서 감사합니다. 당신의 대답에서 추측 한 것은 실제로 위의 샘플 코드에서 param에 대한 언급을 건너 뛰고 계속 진행할 수 있다는 것입니다. 또한 우리는 NHibernate 쿼리에서 다른 곳에서는 선언 된이 param을 사용할 수 있는지 궁금합니다. –

+0

@tahoka param은 건너 뛸 수 있지만 오라클 시퀀스를 사용하는 경우에는 각 테이블/클래스에 대한 시퀀스가 ​​필요할 것입니다. 그리고 그 param으로 무엇을하고 싶습니까? NHibernate는 시퀀스의 다음 값을 자동으로 가져옵니다. – rebelliard

+0

다시 한번 고마워요. –