//$Id$ package org.hibernate.test.annotations.various; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Inheritance; import javax.persistence.InheritanceType; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import org.hibernate.annotations.GenericGenerator; import org.hibernate.annotations.Index; /** * @author Emmanuel Bernard */ @Entity @Inheritance(strategy = InheritanceType.JOINED) @org.hibernate.annotations.Table(appliesTo = "Vehicule", indexes = { @Index(name = "improbableindex", columnNames = {"registration", "Conductor_fk"}), @Index(name = "secondone", columnNames = {"Conductor_fk"}) } ) public class Vehicule { @Id @GeneratedValue(generator = "gen") @GenericGenerator(name = "gen", strategy = "uuid") private String id; @Column(name = "registration") private String registrationNumber; @ManyToOne(optional = false) @JoinColumn(name = "Conductor_fk") @Index(name = "thirdone") private Conductor currentConductor; @Index(name = "year_idx") private Integer year; @ManyToOne(optional = true) @Index(name = "forthone") private Conductor previousConductor; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getRegistrationNumber() { return registrationNumber; } public void setRegistrationNumber(String registrationNumber) { this.registrationNumber = registrationNumber; } public Conductor getCurrentConductor() { return currentConductor; } public void setCurrentConductor(Conductor currentConductor) { this.currentConductor = currentConductor; } public Integer getYear() { return year; } public void setYear(Integer year) { this.year = year; } public Conductor getPreviousConductor() { return previousConductor; } public void setPreviousConductor(Conductor previousConductor) { this.previousConductor = previousConductor; } }