@ManyToOne

0

Heyka. Mam zwykłą relację @ManyToOne.

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "lead_id")
private Project project;

Wiem, że lead_id ma być foreign key. A czy nie wystarczy, że jest unique i nie jest nulem, ale nie jest kluczem?

3

Ale chyba o to chodzi żeby mieć constraina bo wtedy możesz włożyć jakikolwiek id lub usunąć to zostawi bazę w niespójnym stanie

1
JajkoJajeczny napisał(a):

Heyka. Mam zwykłą relację @ManyToOne.

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "lead_id")
private Project project;

Wiem, że lead_id ma być foreign key. A czy nie wystarczy, że jest unique i nie jest nulem, ale nie jest kluczem?

Nie

0

A czemu Co przeszkadza że lead_id ma być foreign key?

0

lead_id nie może być primary key z innych wzgledow (strasznie dużo relacji, dużo zmian byłoby, dużo roboty), a z tego co się orientuję to primary key moze być co najwyżej jeden na tabeli. Co mogę zrobić? Dzięki!

0
JajkoJajeczny napisał(a):

lead_id nie może być primary key z innych wzgledow (strasznie dużo relacji, dużo zmian byłoby, dużo roboty), a z tego co się orientuję to primary key moze być co najwyżej jeden na tabeli. Co mogę zrobić? Dzięki!

Zaraz. Czy to znaczy że lead_id nie jest kluczem głównym w tabeli Projects. To co tam jest kluczem głównym? Dlaczego nie możesz łączyć po kluczu tylko próbujesz po jakiejś innej kolumnie?

0

*Zaraz. Czy to znaczy że lead_id nie jest kluczem głównym w tabeli Projects. To co tam jest kluczem głównym? *

project_id. Jest to tabela projektów, w którą są włożone leady.(Nie pytaj czemu... bo nie wiem)

Dlaczego nie możesz łączyć po kluczu tylko próbujesz po jakiejś innej kolumnie?

Robię import leadów. Importuje w entity leads, która ma 3 kolumny; id i lead_id (external id) i delivery managera id. Sensowne byłoby nakreślić w niej relację z z entity project.
Dzięki!

0
JajkoJajeczny napisał(a):

*Zaraz. Czy to znaczy że lead_id nie jest kluczem głównym w tabeli Projects. To co tam jest kluczem głównym? *

project_id. Jest to tabela projektów, w którą są włożone leady.(Nie pytaj czemu... bo nie wiem)

Dlaczego nie możesz łączyć po kluczu tylko próbujesz po jakiejś innej kolumnie?

Robię import leadów. Importuje w entity leads, która ma 3 kolumny; id i lead_id (external id) i delivery managera id. Sensowne byłoby nakreślić w niej relację z z entity project.
Dzięki!

Dobra dodaję do entity leads również kolumnę project_id. Chrzanię to. Jakiś lepszy pomysł może? Dziękować.

1

Ten cały schemat jest jakiś dziwny. Jeśli masz tabele projects to powinieneś mieć coś takiego @JoinColumn(name = "project_id").
Pokaż całe Twoje encje najlepiej także z polami @Id, bo może to co szukasz to @Embedded

0
nowyworek napisał(a):

Ten cały schemat jest jakiś dziwny. Jeśli masz tabele projects to powinieneś mieć coś takiego @JoinColumn(name = "project_id").
Pokaż całe Twoje encje najlepiej także z polami @Id, bo może to co szukasz to @Embedded

Wieczorem wkleję! Dzięki!

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.