문제

나는 이것이 쉬운 질문이라고 생각하지만, 내 인터넷 검색은 이것에 대해 약합니다.

생성 된 ID 및 계단식과 관련하여 다음 링크에 설명 된 문제가있었습니다.

https://www.hibernate.org/hib_docs/nhibernate/html/example-parentchild.html (바닥쪽으로)

제안 된 인터셉터 방법을 사용하여 고정했습니다. 모든 것이 작동하는 것처럼 보이므로 행복합니다.

즉, 반환 값의 중요성이 다음과 같은 방법에서 무엇인지 모르겠습니다.

    public override bool OnLoad(object entity, object id, object[] state, string[] propertyNames, IType[] types)
    {
        if (entity is Persistent) ((Persistent)entity).OnLoad();
        return false;
    }

    public override bool OnSave(object entity, object id, object[] state, string[] propertyNames, IType[] types)
    {
        if (entity is Persistent) ((Persistent)entity).OnSave();
        return false;
    }

두 경우 모두 false가 반환됩니다.

Nhibernate 인터셉터에 대해 Google을 작성할 때 글을 쓰는 방법에 대한 많은 예를 볼 수 있습니다. 일부는 대신 true를 반환합니다 (http://www.lostechies.com/blogs/rhouston/archive/2008/03/27/creating-a-timestamp-interceptor-in-nhibernate.aspx). 차이가 무엇인지 전혀 모른다. 내 코드가 작동하지만 인터셉터는 나에게 유용한 것처럼 보이므로 더 잘 이해하고 싶습니다.

도움이 되었습니까?

해결책

리턴 값은 인터셉터 방법에서 상태 매개 변수가 변경되었는지 표시해야한다고 생각합니다. 당신은 옳습니다 - 지금은 Google에 힘든 일입니다. Nhibernate 사이트는 최근에 이동했으며 Google은 예전만큼 유용한 정보를 찾지 못하는 것 같습니다.

다른 팁

Huey,

이 게시물을 읽으십시오. 저는 .NET 프로그래머가 아니지만이 게시물은 매우 유용합니다.

http://knol.google.com/k/fabio-maulo/nhibernate-capter-11/1nr4enxv3dpeq/14#

11 장. 인터셉터 및 이벤트 응용 프로그램이 nhibernate 내부에서 발생하는 특정 이벤트에 반응하는 것이 종종 유용합니다. 이를 통해 특정 종류의 일반적인 기능을 구현하고 NHibernate 기능을 확장 할 수 있습니다.

11.1. 인터셉터 Iinterceptor 인터페이스는 세션에서 응용 프로그램으로 콜백을 제공하여 응용 프로그램이 저장, 업데이트, 삭제 또는로드되기 전에 지속적인 객체의 특성을 검사 및/또는 조작 할 수 있도록합니다. 이를위한 가능한 한 가지 사용은 감사 정보를 추적하는 것입니다. 예를 들어, 다음 iinterceptor는 iuditable이 생성 될 때 CreateTimestamp를 자동으로 설정하고 iuditable이 업데이트 될 때 LastupdateTimestamp 속성을 업데이트합니다.

조금 더 깨달길 바랍니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top