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?
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?
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
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
A czemu Co przeszkadza że lead_id ma być foreign key
?
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!
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?
*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!
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ć.
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
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!