2008-10-28 2 views
1

기본 키 (Transaction 및 TransactionDetail)를 공유하는 두 개의 엔티티가있는 상황이 있습니다. 나는 Transaction과 TransactionDetail, 그리고 TransactionDetail과 Transaction을 다 대일 관계로 매핑했다. 트랜잭션 세부 사항은 각 트랜잭션에 대해 하나의 레코드를 보유합니다. 나는 새로운 트랜잭션 세부 객체를 생성하고 트랜잭션에 추가 할 때변경되지 않은 테이블을 업데이트하는 NHibernate many-to-one 매핑

그러나, NHibernate에이 ID를 설정 '갱신 트랜잭션 = 같은 쿼리 트랜잭션 테이블을 업데이트하려고? 여기서 id =? ' 각 매개 변수에 대해 동일한 값으로

매핑이 기본 키 열에 있으므로 트랜잭션을 업데이트하지 않으려합니다. 사실 기본 키는 식별 열이므로 값을 업데이트하려고하면 오류가 발생합니다. 어떻게 새로운 TransactionDetail 레코드가 생성 될 때 NHibernate가 Transaction 테이블을 업데이트하지 못하도록 할 수 있습니까?

답변

2

당신은 매핑의 one-to-one 또는 join-table 유형으로보고 할 수 있습니다. many-to-one은 구체적인 것을 의미하며 다른 두 가지 유형의 매핑 중 하나의 프로파일에 더 잘 부합 할 수있는 것처럼 보입니다.

+0

Thanks Justice, 일대일 매핑을 시도했지만 저에게 적합하지 않았지만 조인 테이블 매핑은 마치 티켓 일 수 있습니다. – SteveBering