반응형
누군가가 최대 절전 모드에서 @MapsId를 설명해 주시겠습니까?
누군가 @MapsId
가 최대 절전 모드 에서 나에게 설명해 주 시겠습니까? 나는 그것을 이해하는 데 어려움을 겪고 있습니다.
예를 들어 설명 할 수 있고 어떤 종류의 사용 사례에 가장 적합할까요?
다음은 Object DB 의 멋진 설명입니다 .
EmbeddedId 기본 키, EmbeddedId 기본 키 내의 속성 또는 상위 엔터티의 단순 기본 키에 대한 매핑을 제공하는 ManyToOne 또는 OneToOne 관계 속성을 지정합니다. value 요소는 관계 속성이 해당하는 복합 키 내의 속성을 지정합니다. 엔티티의 기본 키가 관계에서 참조하는 엔티티의 기본 키와 동일한 Java 유형 인 경우 값 속성이 지정되지 않습니다.
// parent entity has simple primary key
@Entity
public class Employee {
@Id long empId;
String name;
...
}
// dependent entity uses EmbeddedId for composite key
@Embeddable
public class DependentId {
String name;
long empid; // corresponds to primary key type of Employee
}
@Entity
public class Dependent {
@EmbeddedId DependentId id;
...
@MapsId("empid") // maps the empid attribute of embedded id
@ManyToOne Employee emp;
}
여기 에서 API 문서를 읽어 보세요.
이 메모도 유용하다는 것을 알았 @MapsId
습니다. 최대 절전 모드에서 주석은 다른 테이블의 열과 열을 매핑합니다.
두 테이블간에 동일한 기본 키를 공유하는데도 사용할 수 있습니다.
예:
@Entity
@Table(name = "TRANSACTION_CANCEL")
public class CancelledTransaction {
@Id
private Long id; // the value in this pk will be the same as the
// transaction line from transaction table to which
// this cancelled transaction is related
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "ID_TRANSACTION", nullable = false)
@MapsId
private Transaction transaction;
....
}
@Entity
@Table(name = "TRANSACTION")
@SequenceGenerator(name = "SQ_TRAN_ID", sequenceName = "SQ_TRAN_ID")
public class Transaction {
@Id
@GeneratedValue(generator = "SQ_TRAN_ID", strategy = GenerationType.SEQUENCE)
@Column(name = "ID_TRANSACTION", nullable = false)
private Long id;
...
}
참고 URL : https://stackoverflow.com/questions/9923643/can-someone-please-explain-me-mapsid-in-hibernate
반응형
'program tip' 카테고리의 다른 글
Spring 구성 파일로 시스템 속성 설정 (0) | 2020.12.14 |
---|---|
확장 가능한 개체를 병합하는 방법은 무엇입니까? (0) | 2020.12.14 |
디자인 패턴 : 예외 / 오류 처리 (0) | 2020.12.13 |
앵귤러 플랫폼 브라우저 란? (0) | 2020.12.13 |
ADO.NET DbContext 생성기 및 ADO.NET Poco 엔티티 생성기 (ObjectContext) (0) | 2020.12.13 |