Hibernate: @UniqueConstraint mit @ManyToOne Feld?

8

Verwenden Sie den folgenden Code:

%Vor%

Ich erhalte den folgenden Fehler:

%Vor%

Es scheint, dass dies mit der @ ManyToOne-Einschränkung zu tun hat, von der ich mir vorstelle, dass sie eine eigene UniqueConstraint erzeugt ???

Auf jeden Fall, wenn ich diese herausnehmen, gibt es keine Beschwerde über die UniqueConstraint, aber es ist ein weiterer Fehler, der mich glauben macht, es in gelassen werden müssen.

%Vor%

Irgendwelche Hinweise, wie ich eine solche gewünschte Einschränkung erstellen kann (d. h., dass jede Kombination aus Konto und Name nur einmal vorkommt)

Danke!

Misha

    
Миша Кошелев 18.06.2010, 04:29
quelle

1 Antwort

12

Die Lösung:

%Vor%

Erklärung: Der Spaltenname für @ManyToOne in der generierten Tabelle ist wahrscheinlich eher account_id als account_id. Die @ UniqueConstraint erwartet den genauen Spaltennamen, nicht den Namen, den Sie in Ihrer Klasse verwenden. Um sicherzustellen, dass es einfach funktioniert, geben Sie dieser Spalte einen bestimmten Namen mit @JoinColumn und stellen Sie sicher, dass derselbe Name in Ihrer UniqueConstraint verwendet wird.

    
Peter 29.09.2010 20:37
quelle

Tags und Links