2016-10-18 6 views
0

테이블 다음을 고려 (많은 많은 관계) 참조 테이블에 타임 스탬프를 제공 :은 (많은 많은 관계로, 테이블 A와 B 사이의 참조 테이블)

A_ID int (FK), 
B_ID int (FK), 
change_date timestamp - represents timestamp when this relation has been created. 

이 타임 스탬프를 제공하기위한 가장 좋은 방법은 무엇인가? 삽입 (실제로 Hibernate 수행)을 수행 할 때, Hibernate는 A_ID와 B_ID에 대해서만 알고있다.

현재로서는 적당하다고 들리는 유일한 해결책은 방아쇠입니다. 어떻게 생각해?

+0

당신은 좀 더 구체적으로 질문을 설명해야 할 것 - 관계가 생성 될 때 삽입시에 타임 스탬프를 설정의 문제는 무엇인가 당신이 – Graham

+0

을 요구하고 무엇 분명하지 않다? –

+0

@TimBiegeleisen 그렇다면이 질문에 해결책을 게시하시기 바랍니다. – pidabrow

답변

1

데이터를 다 대다 관계 테이블에 추가하려면이 테이블을 엔티티로 매핑하고 엔티티로 관리하십시오.

AB에 매핑이 새로운 기업의 @OneToMany

@ManyToMany에서가는 당신이 @ManyToOne@Id (두 필드)와 AB지도, AB 말한다.

최대 절전 모드 참조 문서에서 Example 134 (링크 엔티티가있는 양방향 多 対 多)을 살펴보십시오.

1

DEFAULT 값을 CURRENT_TIMESTAMp로 사용할 수 있습니다. 나는 이것이 효과가 있다고 생각한다.

A_ID int (FK), 
B_ID int (FK), 
change_date timestamp default Current_timestamp ON INSERT