Como mapear as entidades usando hibernate com anotações [RESOLVIDO]

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!

Uma boa apostila é da k19 que aborda tudo isso.
E tem uma da algaworks so de Hibernate.

Encontra fácil na internet.

1 curtida

Obrigado, Daniel!