Hibernate Annotation 주석 과 관계 맵
1)1 대 1 외부 키 연결 맵(단 방향)
2)1 대 1 외부 키 연결 맵(양 방향)
3)1 대 1 메 인 키 연결 맵(중요 하지 않 음)을 보 여주 지 않 습 니 다.
실제 에 서 는 거의 사용 되 지 않 습 니 다.주석@Primary KeyJoinColumn 을 사용 하 십시오.
내 메 인 키 는 다른 표 의 메 인 키 를 참고 하여 내 메 인 키 로 사용 하지만 내 테스트 에 사용 한 다 는 뜻 이다.
주 해 는 1 대 1 메 인 키 관련 맵 입 니 다.표를 생 성 할 때 데이터베이스 에 관련 이 생 성 되 지 않 았 습 니 다.XML 을 사용 합 니 다.
맵 은 생 성 할 수 있 습 니 다.Annotation 주 해 는 1 대 1 메 인 키 와 연결 되 어 있 고 bug 가 있 습 니 다.연구 할 시간 이 없어 요.
실제 개발 에 서 는 1 대 1 로 거의 사용 되 지 않 기 때문이다.실제 개발 에서 나 는 기 회 를 써 본 적 이 없어 서 메 인 키 의 관련 이 더욱 적다.
4)다 대 일 관련 맵
5)한 쌍 의 다 중 관련 맵(단 방향)
6)한 쌍 의 다 중 관련 맵(양 방향)
7)다 중 관련 맵(단 방향)
8)다 중 관련 맵(양 방향)
2.각종 매 핑 용법 소개
1)1 대 1 외부 키 연결 맵(단 방향)
@OneToOne(cascade=CascadeType.ALL)
@JoinColumn(name="userid",unique=true)
// , @OneToOne,
//@JoinColum userid( ), , + _id
// (unique), ,
2)1 대 1 외부 키 연결 맵(양 방향)
Class1 ,
Class2:
@OneToOne(mappedBy="class2",cascade=CascadeType.ALL)
// , @OneToOne
// : mappedBy="class2", ,
//Class2 (class1_id)
//mappedby="class2"
// , (owner)
//
// mappedBy
//mappedBy
// : , mappedby
//cascade=CascadeType.ALL
4)다 대 일 관련 맵
여러 쪽 에서 설정:
@ManyToOne(targetEntity=Organization.class)
@JoinColumn(name="orgid")
// @ManyToOne
//targetEntity
//@JoinColumn(name="orgid") , org_id
5)한 쌍 의 다 중 관련 맵(단 방향)
@OneToMany
@JoinColumn(name="orgid")
/**
* @OneToMany( )
* @OneToMany ,hibernate
* ,
* @JoinColumn(name="orgid"), ,
* orgid,
*/
6)한 쌍 의 다 중 관련 맵(양 방향)
한 끝:
@OneToMany(mappedBy="org")
@JoinColumn(name="orgid")
/**
* , mappedBy
*
* ,
*/
다단:
@ManyToOne
@JoinColumn(name="orgid")
/**
*
* ,@JoinColumn(name="orgid")
* , ,
*
*/
7)다 중 관련 맵(단 방향)
@ManyToMany
/**
* : @ManyToMany( )
* ,hibernate ,
*
* :user_role , user_id role_id
* , :
*/
@JoinTable(name="t_u_r",
joinColumns={@JoinColumn(name="u_id")},
inverseJoinColumns={@JoinColumn(name="r_id")}
)
8)다 중 관련 맵(양 방향) 사용자 측
@ManyToMany
/**
* : @ManyToMany( )
* ,hibernate ,
*
* :user_role , user_id role_id
* , :
*/
@JoinTable(name="t_u_r",
joinColumns={@JoinColumn(name="u_id")},
inverseJoinColumns={@JoinColumn(name="r_id")}
)
/**
* @JoinTable(name="t_u_r",
*
* joinColumns={@JoinColumn(name="u_id")},
*
* inverseJoinColumns={@JoinColumn(name="r_id")}
*
*/
역할 단
@ManyToMany(mappedBy="role")
/**
* ,
*/
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.