2012-09-06 2 views
0

나는 Hibernate의 초보자이며 2 개의 엔티티가있는 3 개의 테이블을 매핑 할 때 문제가 있음을 발견했다.Hibernate XML로 엔티티를 조인 테이블에 매핑하는 방법

SQL 코드 :

CREATE TABLE users (
    userid int unsigned auto_increment, 
    username varchar(20) not null, 
    password varchar(64) not null, 
    primary key (userid) 
); 

CREATE TABLE roles (
    roleid int unsigned auto_increment, 
    rolename varchar(10) not null, 
    description varchar(255) not null 
    primary key (roleid) 
); 

CREATE TABLE userroles (
    userid int unsigned not null, 
    roleid int unsigned not null, 
    primary key (userid,roleid), 
    foreign key (userid) references users (userid), 
    foreign key (roleid) references roles (roleid) 
); 

현재 매핑

User.hbm.xml

<class name="com.model.User" table="users"> 
    <id name="userId" column="userid"> 
    <generator class="native"/> 
    </id> 
    <property name="userName" column="username"/> 
    <property name="password" column="password"/> 
</class> 

Role.hbm.xml

<class name="com.model.Role" table="roles"> 
    <id name="roleId" column="roleid"> 
    <generator class="native"/> 
    </id> 
    <property name="roleName" column="rolename"/> 
    <property name="description" column="description"/> 
</class> 

방법도 알려주십시오을 XMLS 엔티티 java 파일을 작성합니다. 감사합니다.

+0

여기에 무엇을 묻고 있는지 명확하지 않습니다. 문제가 무엇입니까? HBM 파일이 자바 클래스 파일과 어떻게 관련되어 있는지에 대해 이러한 유형들 사이의 연관 관계를 매핑하는 데 어려움을 겪고 있습니까? 귀하의 답변에 대해 – EdC

답변

0

세 번째 테이블을 매핑하는 데 문제가 있다고 가정합니다. 세 번째 테이블에는 복합 키를 사용해야합니다. 여기에 몇 가지 링크는 도움이 될 수 있습니다 - 당신은 여전히 ​​문제가있는 파일을 만드는있는 경우 http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/#d0e2177 http://www.theserverside.com/discussions/thread.tss?thread_id=22638

가에 코멘트를 추가 부담 대답과 나는 당신을 더 도우려고 노력할 것입니다. Java 파일을 만들려면 getters 및 setters를 사용하여 파일을 만들고 get 메서드를 사용하여 데이터를 추출하고 새 데이터를 입력하는 메서드를 설정하기 만하면됩니다.

+0

감사합니다. 나는 복합 키를 알고 있지만 세 번째 테이블에서 수행하고자하는 작업은 처음 두 테이블과의 다중성 관계, '사용자'와의 일대일 관계 및 '역할'과의 다 대일 관계를 만드는 것입니다. – ericb

관련 문제