Ich habe Code für die Vererbung der Tabelle Pro Klasse geschrieben, der in youtube tutorial angezeigt wird. In meinem Code habe ich StoreData.java, die Objekte und Vehicle.java als Elternklasse und TwoWheeler.java, FourWheeler.java als Kind Klassen speichert.Tabelle pro Klassenvererbung: Nullwert erhalten
StoreData.java
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.AnnotationConfiguration;
public class StoreData {
public static void main(String[] args) {
SessionFactory sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
Transaction t = session.beginTransaction();
Vehicle vehicle = new Vehicle();
vehicle.setVehicle_Name("Car");
TwoWheeler twoWheeler = new TwoWheeler();
twoWheeler.setBikeModel("HONDA CBR 250");
FourWheeler fourWheeler = new FourWheeler();
fourWheeler.setFourWheelerModel("HONDA City");
session.save(vehicle);
session.save(twoWheeler);
session.save(fourWheeler);
t.commit();
session.close();
}
}
Vehicle.java
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
@Entity
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
public class Vehicle {
@Id
@GeneratedValue(strategy=GenerationType.TABLE)
private int vehicle_id;
private String Vehicle_Name;
public int getVehicle_id() {
return vehicle_id;
}
public void setVehicle_id(int vehicle_id) {
this.vehicle_id = vehicle_id;
}
public String getVehicle_Name() {
return Vehicle_Name;
}
public void setVehicle_Name(String vehicle_Name) {
Vehicle_Name = vehicle_Name;
}
}
TwoWheeler.java
import javax.persistence.Entity;
@Entity
public class TwoWheeler extends Vehicle {
private String bikeModel;
public String getBikeModel() {
return bikeModel;
}
public void setBikeModel(String bikeModel) {
this.bikeModel = bikeModel;
}
}
FourWheeler.java
import javax.persistence.Entity;
@Entity
public class FourWheeler extends Vehicle {
private String fourWheelerModel;
public String getFourWheelerModel() {
return fourWheelerModel;
}
public void setFourWheelerModel(String fourWheelerModel) {
this.fourWheelerModel = fourWheelerModel;
}
}
Ich habe MySql verwendet und Daten in der Tabelle sieht so aus. Tabelle Fahrzeug:
vehicle_d vehicle_name 1 Car
Zweirad Tabelle:
vehicle_id vehicle_name bikemodel 2 null HONDA CBR 250
Zweiachser Tabelle:
vehicle_id vehicle_name bikemodel 3 null HONDA City
hier innerhalb vehicle_name Spalte I null statt Auto bekommen werde. Was ist der Fehler, den ich begangen habe? Bitte erzähle.
In diesem Beispiel haben sie Hibernate-Konfigurationsdatei verwendet, aber in meinem Code habe ich Annotation für die Vererbung verwendet und Sie haben meine Frage nicht beantwortet. – sajid
Ich bin nicht sicher, welche Anmerkungen zu verwenden, aber eine Sache, die ich definitiv sage Wenn es mit Konfigurationsdatei möglich ist, dann muss es auch mit Anmerkungen trainieren. –