Спасибо за ваш ответ.
При первом запуске приложения в базе данных нет таблицы. Они созданы Hibernate.
Я даю вам свой код (в коде, который я вам даю, нет получателей и установщиков):
Класс BonLivraison (конец кода этого класса - просто попытка)
пакет sii.dsi.beans;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
@SuppressWarnings("serial")
@Entity
@Table
public class BonLivraison implements Serializable{
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id_bon_livraison;
@Column(nullable=false, length=255, unique=false)
private String numero_bon_livraison;
@Column(nullable=false, unique=false)
private double montant_bon_livraison;
@Column(nullable=false, unique=false)
private Date date_bon_livraison;
@Column(nullable=false, unique=false)
private Date date_depot_facture;
@OneToOne
@JoinColumn(name="id_commande")
private PosteLigne poste_ligne_id_commande;
@OneToOne
@JoinColumn(name="id_posteligne")
private PosteLigne poste_ligne_id;
// Getters and Setters
}
Класс Команд :
package sii.dsi.beans;
import java.io.Serializable;
import javax.persistence.*;
import sii.dsi.beans.Affaire;
@SuppressWarnings("serial")
@Entity
@Table
public class Commande implements Serializable{
@Column
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int id_commande;
@Column(nullable=false, length=255, unique=false)
private String numero_commande;
@Column(nullable=false, length=255, unique=false)
private String numero_bc;
@OneToOne
private Affaire affaire;
}
Класс PosteLigne :
package sii.dsi.beans;
import java.io.Serializable;
import javax.persistence.*;
@SuppressWarnings("serial")
@Entity
@Table
public class PosteLigne implements Serializable{
@EmbeddedId
private PosteLignePK poste_ligne_pk;
@Id
private int id_poste_ligne;
@Column(nullable=false, unique=false)
private double montant_poste_ligne;
@Column(nullable=false, unique=false)
private boolean clos;
@Column(nullable=false, unique=false)
private int numero_ligne;
}
Класс PosteLignePK :
package sii.dsi.beans;
import java.io.Serializable;
import javax.persistence.*;
@SuppressWarnings("serial")
@Embeddable
public class PosteLignePK implements Serializable{
private int id_poste_ligne;
@OneToOne
@JoinColumn(name="id_commande")
private Commande commande;
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + id_poste_ligne;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
PosteLignePK other = (PosteLignePK) obj;
if (id_poste_ligne != other.id_poste_ligne)
return false;
return true;
}
}
Сообщение об ошибке:
Внешний ключ, ссылающийся на sii.dsi.beans.PosteLigne от
sii.dsi.beans.BonLivraison имеет неправильный номер столбца. должно быть 2
Я думаю, что проблема в конце класса BonLivraison.
Спасибо за вашу помощь