Hallo Leute
Ich habe folgende Ausgangsituation:
Die Klasse Article:
Die Klasse Payment:
Jetzt möchte ich gerne mit diesen Klassen einen Primary Key bilden, dazu habe ich mal folgende Klassen angelegt:
und:
Lasse ich nun die Tabellen von Hibernate erzeugen, spuckt er mir folgende aus:
Table: payment_paymentposition
Columns:
Payment_paymentID int(11)
paymentPositions_article tinyblob
paymentPositions_payment tinyblob
was mir ziemlich falsch vorkommt.
Wie kann ich das den richtig machen?^^
Danke für die Hilfe!
Ich habe folgende Ausgangsituation:
Die Klasse Article:
Java:
@Entity
@Table
public class Article implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int articleID;
@Column(nullable = false)
private String name;
@Column(nullable = false)
private BigDecimal price = BigDecimal.ZERO;
//getter, setter, constructor
}
Die Klasse Payment:
Java:
@Table
@Entity
public class Payment implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int paymentID;
@OneToOne
private Account account;
@OneToOne
private Payee payee;
@Column(nullable = false)
private Date date;
@OneToMany
private List<PaymentPosition> paymentPositions;
//getter, setter, constructor
}
Jetzt möchte ich gerne mit diesen Klassen einen Primary Key bilden, dazu habe ich mal folgende Klassen angelegt:
Java:
public class PaymentPositionPK implements Serializable{
protected Article article;
protected Payment payment;
public PaymentPositionPK() {
article = new Article();
payment = new Payment();
}
//getter,...
}
und:
Java:
@Entity
@Table
@IdClass(PaymentPositionPK.class)
public class PaymentPosition implements Serializable {
@Id
private Article article;
@Id
private Payment payment;
@Column(nullable = false)
private int quantity;
@OneToOne
private Category category;
//getter, setter, bla..
}
Lasse ich nun die Tabellen von Hibernate erzeugen, spuckt er mir folgende aus:
Table: payment_paymentposition
Columns:
Payment_paymentID int(11)
paymentPositions_article tinyblob
paymentPositions_payment tinyblob
was mir ziemlich falsch vorkommt.
Wie kann ich das den richtig machen?^^
Danke für die Hilfe!