私はMysqlとHibernateで実行中のSpringブートアプリケーションを持っています。それを起動している間Spring Hibernate MySql - 外部キー制約を追加できません
、私はこのエラー
Unsuccessful: alter table SMARTPARK.illuminazione add constraint FK_4kmtr3q9e2hnaoutsxgahhm63 foreign key (id_interruttore) references SMARTPARK.interruttori (id_interruttore)
2016-05-05 08:46:35 ERROR SchemaUpdate:262 - Cannot add foreign key constraint
を得ている私持って
Illuminazione.javaが2つのテーブル/エンティティ(ちょうど興味深い部分...)
@Entity
@Table(name = "illuminazione", catalog = "SMARTPARK")
public class Illuminazione {
private int idilluminazione;
private Interruttore interruttore;
private Date dateTime;
private Date lastDateTime;
private boolean isLit;
@ManyToOne
@JoinColumn(name = "id_interruttore")
public Interruttore getInterruttore() {
return this.interruttore;
}
public void setInterruttore(Interruttore interruttore) {
this.interruttore = interruttore;
}
Interruttore.javaで私は@OneToMany
イルミナゾーネとの関係を持っています
@Entity
@Table(name = "interruttori", catalog = "SMARTPARK", uniqueConstraints = @UniqueConstraint(columnNames = "id_interruttore"))
public class Interruttore implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 1L;
private int idInterruttore;
private int numeroInterruttore;
private String nomeInterruttore;
private String descrizione;
private List<Luce> luci;
private GpioController gpio;
private GpioPinDigitalOutput relePin;
private Pin pin;
private boolean remoto;
private boolean stato;
private Date dateTime;
private Set<Illuminazione> illuminazione;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "interruttore")
public Set<Illuminazione> getIlluminazione() {
return illuminazione;
}
public void setIlluminazione(Set<Illuminazione> illuminazione) {
this.illuminazione = illuminazione;
}
私はアプリケーションを起動するたびに、ブート時に私は(...アプリケーションが動作して良いと思われる場合でも)
'idInterruttore'は主キーですか?どうして 'uniqueConstraints = @UniqueConstraint(columnNames =" id_interruttore ")'を使用するのですか?どのようにHibernateをブートストラップ(スキーマの更新、作成、何もしない)しますか? –
私は休止状態で何もしない、DBはすでにそこにある、私はそれに接続するだけです。私はSpringBootのデフォルトプロセスと接続します – besmart
あなたのスキーマはすでに他の名前とそのような制約を持っているため、Hibernateは 'FK_4kmtr3q9e2hnaoutsxgahhm63'を追加できないようです。 –