2015-05-20 28 views
11

Düzeltme içeren bir denetim masam var ve ben denetim tablosu revizyonu ile bire çok ilişkisi olan başka bir tablo oluşturmak istiyorum. Denetim revizyonu yeni tablo verilerine işaret edecektir. Bunu nasıl yapabilirim?Diğer denetim tablosuyla birlikte hazır bekleme tablosu

+0

Kontrol http://stackoverflow.com/q dışarı cevap Gözat Gpa.java

CurrentGpa.java

@Entity(name = HibernateConsts.CURRENT_GPA_TABLE) public class CurrentGpa { protected Gpa gpa; protected Student student; protected Long id; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = HibernateConsts.CURRENT_GPA_ID) public Long getId() { return id; } public void setId(Long id) { this.id = id; } @OneToOne(optional = true, fetch= FetchType.EAGER) @Fetch(FetchMode.JOIN) @JoinColumn(name = HibernateConsts.GPA_FK) public Gpa getGpa() { return gpa; } public void setGpa(Gpa gpa) { this.gpa = gpa; } @OneToOne(optional = true, fetch= FetchType.EAGER) @Fetch(FetchMode.JOIN) @JoinColumn(name = HibernateConsts.STUDENT_FK) public Student getStudent() { return student; } public void setStudent(Student student) { this.student = student; } // ... } 

: Bunu yapmak için aşağıdaki yapıyı kullanılan/30184227/845849 –

+0

Sadece revizyonu diğer tabloyla ilişkilendirmek istediğim revinfo tablosunu değiştirmek istemiyorum. –

+0

Ahh, bu durumda, varsayılan varlık nesnesini (org.hibernate.envers.DefaultRevisionEntity) gerekli varlık tablosunda eşleştirebilirsiniz. –

cevap

2

Öğrenci GPA'ları (revizyonlu denetim tablosu) içeren bir projeyi ve daha sonra her zaman GPA tablosundaki bir ana düzeltmeyi işaret eden CurrentGpa numaralı bir tabloyu yaptım.

@Entity(name = HibernateConsts.GPA_TABLE) 
@Inheritance(strategy = InheritanceType.SINGLE_TABLE) 
public abstract class Gpa { 
    protected Long studentId; 
    protected Double score; 
    protected LocalDate startDate; 
    protected LocalDate endDate; 
    protected LocalDate calculationDate; 
    protected Long id; 

    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    @Column(name = HibernateConsts.GPA_ID) 
    public Long getId() { return id; } 

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

    @Column(name = HibernateConsts.STUDENT_FK) 
    public Long getStudentId() { 
    return studentId; 
    } 

    public void setStudentId(Long studentId) { 
    this.studentId = studentId; 
    } 

    @Column(name = HibernateConsts.GPA_SCORE) 
    public Double getScore() { 
    return score; 
    } 

    public void setScore(Double score) { 
    this.score = score; 
    } 

    @Column(name = HibernateConsts.GPA_START_DATE) 
    public LocalDate getStartDate() { 
    return startDate; 
    } 

    public void setStartDate(LocalDate startDate) { 
    this.startDate = startDate; 
    } 

    @Column(name = HibernateConsts.GPA_END_DATE) 
    public LocalDate getEndDate() { 
    return endDate; 
    } 

    // ... 
}