hibenate 한 쌍 의 다 중 양 방향 연결 에서 list 를 어떻게 설정 합 니까?

문서 관리자 클래스 User 와 문서 클래스 Archives 가 있다 고 가정 합 니 다.그 중에서 도 User 와 Archives 는 한 쌍 의 다 중 관계 입 니 다.
클래스 에 다음 과 같이 표 시 됩 니 다. (속성의 set 와 get 방법 을 생략 합 니 다)
public class User implements Serializable {
	private static final long serialVersionUID = -7327980678002278494L;
	/**   id */
    private Long id;
    /**      */
	
    private String username;
    /**     */
    private String password;
	
	//           
    private List<Archives> archives;
  }
public class Archives implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private Long id;
	//     
	private String name;
	//        
	private User manager;
}

데이터베이스 테이블 에 대해
문서 관리 표 의 SQL 문 구 는 다음 과 같다.
create table USER (
   ID bigint not null,
   USER_NAME varchar(15),
   primary key(ID)
);

 
파일 시트 의 SQL 문 구 는 다음 과 같다.
create table ARCHIVES(
ARCHIVES_ID bigint not null,
ARCHIVES_NAME char(15),
ARCHIVES_REMARK char(15) ,
USER_ID bigint,
oreign key(USER_ID) references A_USER(ID),
primary key(ARCHIVES_ID)
);


다음은 각자 의 hibenate 파일 설정 User. hbm. xml 입 니 다.
<list name = "archives"  table = "ARCHIVES" cascade = "save-update"  lazy="true">
		   <!-- a_user         ,   ARCHIVES  USER_ID -->
		   <key column = "USER_ID">
		   </key>
		   <!-- ARCHIVES_ID ARCHIVES      -->
		    <index column = "ARCHIVES_ID"></index>
		   <!--   user archives       -->
		   <one-to-many class = "com.archivesManagement.domain.Archives"></one-to-many>
</list> 

Archives. hbm. xml 에서 Archives 속성 관리자 설정
<!-- USER_ID ARCHIVES    -->
		<many-to-one name="manager"		  
		  column = "USER_ID"
		  class = "com.archivesManagement.domain.User"
		  not-null = "true"
></many-to-one>
		

 설정 에 오류 가 발생 하면 org. hibenate. Property AccessException: IllegalArgument Exception occurred while calling setter of 이러한 오류 가 발생 했 습 니 다.

좋은 웹페이지 즐겨찾기