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;
@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