Olá galera,
estou desenvolvendo um sistema que vai envolver o armazenamento de imagens no banco de dados (PostgreSQL).
Então em vez de criar o campo Blob direto na entidade Documento, resolvi criar uma outra tabela, que vai receber esse campo Blob e a chave primária da tabela original(Documento).
Então minha dúvida é se o mapeamento está certo ou não. Levando em consideração que 1 documento tem 1 imagem, e que essa imagem pertence a 1 documento.
Segue o mapeamento
Class Documento
@Entity
public class Documento {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int codigo;
@OneToOne(mappedBy="documento", cascade=CascadeType.ALL)
@JoinColumn(name="imagem")
private DocumentoImagem documentoImagem;
}
Class DocumentoImagem
@Entity
public class DocumentoImagem {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private int codigo; //chave primária de Documento
@Lob
private byte[] conteudo;
@OneToOne
@JoinColumn(name="imagem")
private Documento documento;
}
Agradeço quem puder tirar essa dúvida!