Hibernate set 기반 양 방향 연결

지난 절 을 계속 하 겠 습 니 다. 지난 절 에 저 희 는 person - event 의 한 쌍 의 다 중 관 계 를 구축 하 였 습 니 다. 이 를 바탕 으로 그들의 다 중 관 계 를 구축 하려 면 이벤트 단 에 하나만 구축 하 십시오.
이벤트 - person 의 한 쌍 다 중 연결 만 있 으 면 됩 니 다.그래서 저 희 는 Event. java 와 맵 파일 event. hbm. xml 만 바 꾸 면 됩 니 다.
 
Event.java
 
 
package com.hb.jo;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

public class Event {

	private long id;
	private String title;
	private Date date;
	
	private Set<Person> persons = new HashSet<Person>();

	public Set<Person> getPersons() {
		return persons;
	}

	public void setPersons(Set<Person> persons) {
		this.persons = persons;
	}

	//  hibernate  java         ,           
	public Event()
	{
		
	}
	
	public long getId() {
		return id;
	}

	public void setId(long id) {
		this.id = id;
	}

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}


	public Date getDate() {
		return date;
	}

	public void setDate(Date date) {
		this.date = date;
	}
}	
	

 
 
event.hbm.xml
 
 
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping>
	<class name="com.hb.jo.Event" table="Events">
		<id name="id" column="event_id">
			<generator class="native"></generator>
		</id>
		<property name="date" type="timestamp" column="Date"></property>
		<property name="title" column="Title"></property>
		<set name="persons" table="Person_Events" inverse="true">
			<key column="event_id"></key>
			<many-to-many column="person_id" class="com.hb.jo.Person"></many-to-many>
		</set>
	</class>
</hibernate-mapping>

 
 
inverse = 'true' 에 대한 설명:
hibenate api
자바 와 의 양 방향 관 계 는 양 끝 에서 인용 을 간단하게 설정 하 는 것 일 뿐 입 니 다.그러나 Hibernate 는 INSERT 와 UPDATE 문 구 를 정확하게 실행 할 충분 한 정보 가 없 기 때문에 양 방향 관 계 를 정확하게 처리 하 는 데 도움 이 필요 합 니 다.연 결 된 한 끝 을 inverse 로 설정 하면 Hibernate 가 연 결 된 이 끝 을 무시 하 는 것 을 알려 줍 니 다. 이 끝 을 다른 한 끝 에 있 는 거울 (mirror) 로 봅 니 다.이것 이 바로 필요 한 모든 정보 입 니 다. Hibernate 는 이 정 보 를 이용 하여 네 비게 이 션 모델 을 데이터베이스 schema 로 옮 길 때의 모든 문 제 를 처리 합 니 다.당신 은 이 직관 적 인 규칙 만 기억 해 야 합 니 다. 모든 양 방향 관 계 는 한 끝 이 inverse 로 설정 되 어야 합 니 다.한 쌍 의 다 중 관련 에서 그것 은 다 중 (many) 을 대표 하 는 쪽 이 어야 한다.그리고 다 대 다 (many - to - many) 관련 에서 한 끝 을 선택 할 수 있 습 니 다. 왜냐하면 두 끝 사이 에 차이 가 없 기 때 문 입 니 다.
 

좋은 웹페이지 즐겨찾기