Olá pessoal,
Estou tentando mapear as minhas entidades: Agent, User, Message e Attendance para ficar como:
CREATE TABLE `teste1`.`user` (
`iduser` INT NOT NULL,
`nome` VARCHAR(45) NOT NULL,
PRIMARY KEY (`iduser`));
CREATE TABLE `teste1`.`agent` (
`idagent` INT NOT NULL,
`name` VARCHAR(45) NULL,
PRIMARY KEY (`idagent`));
CREATE TABLE `teste1`.`attendance` (
`idattendance` INT NOT NULL AUTO_INCREMENT,
`iduser` INT NOT NULL,
`idagent` INT NOT NULL,
PRIMARY KEY (`idattendance`),
INDEX `fk_iduser_idx` (`iduser` ASC),
INDEX `fk_idagent_idx` (`idagent` ASC),
CONSTRAINT `fk_iduser`
FOREIGN KEY (`iduser`)
REFERENCES `teste1`.`user` (`iduser`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_idagent`
FOREIGN KEY (`idagent`)
REFERENCES `teste1`.`agent` (`idagent`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
CREATE TABLE `teste1`.`attendance_messages` (
`idmessage` INT NOT NULL AUTO_INCREMENT,
`idattendance` INT NOT NULL,
`sender` VARCHAR(45) NULL,
`receiver` VARCHAR(45) NULL,
`message` VARCHAR(45) NULL,
PRIMARY KEY (`idmessage`, `idattendance`),
INDEX `fk_idattendance_idx` (`idattendance` ASC),
CONSTRAINT `fk_idattendance`
FOREIGN KEY (`idattendance`)
REFERENCES `teste1`.`attendance` (`idattendance`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);
O problema é que fico confuso onde devo colocar as anotações ManyToMany, OneToOne… Enfim, quem puder me ajudar explicando ou indicando matérias de qualidade sobre o assunto fico grato.
Obrigado!