9 Ağustos 2011 Salı

Hibernate - Annotation ile One-to-Many Mapping - 2

Herkese Merhabalar,

Kısa bir konudan bahsedeceğim yine. Hibernatede One-to-One ilişkide iki tablo arasında kurulan bağlantının ayrı bir Join tablosunda tutulmasını gerçekleştiren annotationlarımız kısaca aşağıdaki gibidir. Belki birileriinni işine yarar :)

Driver.Java
@Entity
@Table(name="DRIVER")

public class Driver {

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="ID")
    private int driverId;
   
    @OneToOne(cascade=CascadeType.ALL)
    @JoinTable(name="Driver_Vehicle",joinColumns={@JoinColumn(name="ID")},inverseJoinColumns={@JoinColumn(name="VID")})

    private Vehicle vehicle;

...
...
}
Vehicle.Java
@Entity
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)

public abstract class Vehicle {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="VID")
    private int id;
...
...
}

One-to-Many için de benzer kodlar geçerlidir. List ve ArrayList kullanımında bir değişikliğe gerek yok iken, HashMap kullanımında @MapKeyColumn annotationu kullanımı işe yarayacaktır.

Herkese kolay gelsin.

Hiç yorum yok:

Yorum Gönder