2009-10-26 2 views
1

그냥 어떤 특성을 사용하여 다 대다 관계 테이블을 자동으로 크레이트 할 수있는 방법이 있는지 아는 사람이 궁금하십니까? 테이블을 만들지 않고 클래스를 매핑하여 해당 관계 테이블이 될 수 있습니다.Fluent NHibernate 자동 매핑 - many-to-many 관계 테이블을 생성하는 방법?

[ManyToMany (3, Class = "DeploymentListUsers")] 속성을 추가하면이 클래스가 DB에 매핑되지 않는다는 오류가 발생합니다.

NHibernate.MappingException :

나 자신을 클래스를 정의 할 수 없으며, 손 전에 DB에 테이블을 생성하지 않습니다 테이블 사용자 로부터의 협회는 매핑되지 않은 클래스를 참조 .

JAVA에서 가능한 것처럼 보입니다. Hibernate는 최대 절전 모드와 JPA 주석을 완전히 구현 한 버전입니까? 당신이 클래스를 지정하는 경우

http://www.hiberbook.com/HiberBookWeb/learn.jsp?tutorial=19mappingmanytomanyrelationships

감사합니다, Itay

답변

0

, 당신은 확실히 너무 존재해야합니다. Hibernate는 당신을 위해 클래스를 생성하지 않을 것이다. 그러나 다 대다 테이블이 배포 테이블에 대한 외래 키와 사용자 테이블에 대한 외래 키만 포함하는 경우 그러한 클래스는 필요하지 않습니다. 관계에 대한 추가 사실을 저장하려는 경우에만 별도의 다 대 다 매핑 클래스가 필요합니다.

내가 알 수있는 한, 귀하의 상황에서 당신은 다형성 테이블을 만들 필요가있다. (NHibernate의 SchemaExport()를 사용하여 CREATE TABLE 문을 생성하여 거기에서 자동화가 가능하다.) 그리고 NHibernate에게 그것을지도로 나타 내기 위해. 너와는 달리 나는 맵핑 속성을 사용하지 않으므로지도를 사용하는 방법을 모르지만 매우 간단하다.

0

NHibernate는 이제 JPA 주석을 포함하여 JPA (.NET 플랫폼에 대해 NPersistence 또는 NPA라고 함)를 지원합니다. 관계를 지정하고 다른 공급 업체를 위해 코드를 이식하는 것이 가장 좋은 방법입니다. 그것을 확인 : www.npersistence.com

비슷한 질문에 대한 내 대답은 당신을 도울 수