2011-11-12 3 views
4

나는 현재 응용 프로그램을 만들고있어 나는이처럼 보이는 DB 스키마를 만드는 것을 시작했습니다 :many-to-many 관계를 매핑 할 때 최대 절전 모드가 추가 엔터티를 생성하는 이유는 무엇입니까?

Database schema

대표 몇 테이블 (users_groups_maps, articles_tags_maps의 reported_articles, favourite_articles 및 browse_later_articles)가있다 다 대다 releationship. 역방향 구성 파일을 작성하고 리버스 엔지니어링을 시작하여 Java 클래스를 가져올 수있었습니다 (Annotations, JDK 5 및 EJB3, javax.persistence. * annotations). (예 : 경고, 사용자 등)

기본 테이블이 잘됩니다 (예 :

private Set<BrowseLaterArticles> browseLaterArticleses = new HashSet<BrowseLaterArticles>(0); 

등의 분야가있다,하지만 난 그게 잘 것 같아요 - 저는 최대 절전 모드 안돼서).

:

그러나, 문제는 (내 생각)하는 다 대다 관계로 시작 (

UserGroupsMapsId는 사용자 ID와의 groupId 쌍에 대한 래퍼입니다
public UsersGroupsMaps(UsersGroupsMapsId id, Users users, Groups groups) { 
    this.id = id; 
    this.users = users; 
    this.groups = groups; 
} 

, 예를 들어 UserGroupsMaps 생성자는 다음과 같다)

내가 잘못되었거나 다르게 코딩해야합니까? ManyToMany 주석이 있다는 것을 알고 있습니다. 왜 그것을 사용하지 않고 최대 절전 모드로 전환합니까?

이 또한 내가 질문을 - 그래서 - 최대 절전 모드 관련되지 않은 // - 의견private_messages 테이블에 같은 테이블을 참조해야하는 parent__id 필드는있다. 나 자신의 테이블에 외래 키를 만들었지 만, 맞는지 확실하지 않아? 어떻게 생겼을 까? 이 관리에서 최대 절전 모드는 동일한 이름의 두 필드를 생성합니다. 비공개 댓글 코멘트; Comments 클래스의

감사합니다, 마르신

+0

이제 이미지를 업로드 할 수 있습니다 :) – PhD

+0

각 * _maps 테이블의 '인덱스'를 확장하고 이미지를 다시 캡처하거나 다시 업로드하십시오. – lschin

+0

Marcin이 정확히 내가 겪고있는 문제입니다. User 개체에는 Set 속성이 있어야하고 Group에는 Set 이 있어야합니다. 내가 무엇을 하든지, 나는 위조 된 중개 물체를 얻는다. Reveng cfg 마법사에는 선택된 열에 대한 매핑을 조정하는 섹션이 있지만, 이미 선택된 테이블을 사용하는 대신 전체 스키마를 처음부터 다시 가져 오기 위해 바보처럼 사용했을 때 무시했습니다. 그게 어디로 갈지 모른다고 생각합니다. Dagnabbit, 이제 좀비 스레드임을 알았습니다. drat. – user1944491

답변

0

귀하의 최대 절전 모드 매핑 어딘가에 엉망이된다. Hibernate는 테이블에 추가 컬럼이없는 한 다 대다 조인 오브젝트에 대한 오브젝트를 작성하지 않을 수있는 옵션을 제공합니다. 나는 당신이 일식 최대 절전 모드 플러그인을 사용하고 있다고 가정합니까? 코드 생성기의 설정을 검사하여 해당 개체를 만들지 않도록 말할 수 있는지 확인합니다.

+0

예, Eclipse 용 최대 절전 모드 도구를 사용하고 있습니다. 여기에 게시하기 전에이 옵션의 선택을 취소하려했는데 두 결과가 모두 같습니다. 난 리버스 엔지니어링의 XML에서 일을 변경하지 않았고 테이블을 추가했다.Hibernate 콘솔 설정에서 dialect는 MYSQL5 (InnoDB)로 설정되고 Type은 Annotations로 설정되고, 다른 옵션은 기본값으로 설정된다. – Marcin

0

"하이버 네이트 도구"/ "Jboss 도구"가 빈 클래스의 많은 것에서 많은 주석을 생성하게하려면 간단한 매핑 테이블을 사용해야합니다. 이러한 매핑 테이블에는 조합 된 기본 키가되어야하는 두 외래 키에 대한 열만 있어야합니다.