이것은 약간의 개념적 질문이지만 생각해 보면 적절하다고 생각합니다.관계가 있지만 콜렉션이없는 POCO 객체를 알 수 없음 - Mutli tier
얼마 동안 NHibernate와 작업하고 있지만 POCO 객체내에서 컬렉션을 사용하는 것이 어렵다는 것을 알았습니다. 1. 프록시 개념이 좋다고 생각합니다. 그러나 다중 계층 아키텍처에서 사용하기를 원할 때 . 2. DB의 모든 유형의 요청에 비즈니스 로직을 추가하고 싶습니다. 예 : 승인 제한 등. 3. 컬렉션에서 엔티티를 추가하거나 제거 할 때 비즈니스 로직을 추가하고 싶습니다.
그리고 컬렉션과 프록시에 문제가있는 이유가 더 있습니다.
아마도 컬렉션이 없으면 POCO 개체를 사용하고 하위 쿼리 및 연결 등을 처리하도록 서비스 레이어를 사용할 수있는 방법이 있다고 생각했습니다. Nhibernate가 작동하려면 모음이 필요하지만 나는 서비스 계층에서 벗어나 객체를 플랫 화하고 모든 콜렉션을 제거하려고합니다. 이 방법은 내 자신의 운영 및 비즈니스 논리를 구현할 수 있습니다.
표준 방법은 무엇입니까? 개체를 부착하고 분리해야합니까? POCO 개체에서 DTO 개체를 만들고 필드 등을 복사하는 방법은 무엇입니까?
누구나 그 모범 사례를 가지고 있었고 동일한 작업을 수행 했습니까?
나는 어떤 관계도없이 POCO 객체를 만들고 매핑을 통해 관계를 nhibernat 만 알 수있었습니다. 다음 세션을 사용하여 개체 간의 연결을 제어 할 수 있습니다.
감사합니다, 노암
나는 당신의 질문을 완전히 이해하고 있는지 잘 모르겠다.뉴 햄프셔는 'ID'값을 제외하고는 아무것도 작동하지 않아도되므로, 원하지 않는 매핑의 모든 것을 무시할 수 있습니다. 그러나 이것이 당신의 질문이 아니란 것 같군요. –
매핑에서 컬렉션을 항상 지정할 필요는 없습니다. 다른 쪽 끝이 다 대일 인 경우 이러한 컬렉션을 개별적으로 관리 할 수 있습니다. 나는 일반적으로 cascade = "delete"의 편의를 위해서만 컬렉션을 정의한다. – dotjoe