어쩌면 나는 현재 공유 기본 키가 같은 두 테이블을 가지고NHibernate 기본 키는 1-1 매핑입니까?
... 단지 잘못이 설계 한, 나는 행복보다 더 해요 그렇다면 다른 방법을 찾아 활과 그것을 약탈 :
사람 - ID (PK), 이름, CREATED_DATE, ...
person_details - person_id로 (PK), 연령, 신장, ...
지금 사람이 작성되는 및 사람 만 할 수 있습니다 하나의 세부 정보 집합. 그래서 처음에는 person_details를 매핑 할 때 PK가 할당 될 것이라고 생각했습니다. 이는 사람이 생성했기 때문입니다.이제 데이터베이스에서이 데이터의 첫 번째 인스턴스를 만들 수있는 방법에 대해 혼란스러워합니다. PersonDetails 모델의 인스턴스가 들어있는 Person 모델을 만들 때와 마찬가지로이 시점에서 Id를 갖지 않습니다. , 그들이 만들어지지 않았기 때문에. PersonDetails 모델을 만들 때 Parent Person 모델에서 Id를 가져 오도록 PersonDetails 모델에 지시하려면 어떻게해야합니까?
나는 화를 낼 것인가? 또는 Person Id에서 삽입 할 때 PersonDetails Id를 추론하도록 Person 모델에서 수행해야하는 간단한 매핑이 있습니까? PersonDetails에 대한 Person_Id가 필요합니다. 초기 생성 후 변경이 이루어지면 Ajax에 의해 사람에게 외부 적으로 업데이트됩니다.
이것에 대해 조금 생각한 후에는 일대일 매핑이 데이터베이스에서 일대일 매핑 일지라도 최선의 방법이 아닌 것으로 보입니다. 그래서 더 좋은 방법이 있습니다. 이 구조? 궁극적으로 아약스를 통해 개별적으로 세부 정보 (및 기타 일대일 스타일 관계)를 업데이트 할 수 있어야하므로 일부 사용자 만 저장하지 않고 개별적으로 저장할 수 있도록 관계가 필요합니다. 방법은 ... – Grofit