Estou aprendendo a usar o Spring Boot
e preciso criar um campo no formulário que carregue a imagem a ser utilizada. Como faço para mapear o diretório e salvar em uma determinada pasta do projeto?
Vi algumas respostas, no stackoverflow
e no aqui no GUJ
, mas ainda estou com dúvidas de como proceder dentro das classes de domínio. Exemplo:
Observação: estou utilizando MySQL
.
package com.ptestes.models;
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class HotSite implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
private String pageTitle;
@?????
private <?????> img;
/*Getters and Setters*/
}
Desde já, muito obrigada! 
Muito obrigada por responder! 
Achei o exemplo bem interessante! Baixei código e funcionou! 
Eu achava que precisava que ficasse junto da classe de domínio correspondente.
Sei que pode ser uma pergunta muito boba, mas, vamos lá…

Minha dúvida agora é: como eu crio o vinculo dessa imagem a uma entidade especifica? 
Exemplo: Vamos supor que eu criasse uma classe chamado UserProfile
e, mapeando ela, uma tabela no Banco de Dados. Esse domínio vai gerenciar as informações pessoais do usuário, como nome e endereço.
Caso eu quisesse guardar uma foto para usar no perfil do usuário ou, então, a cópia de um currículo, eu teria que criar uma pasta exclusiva para cada usuário e ali salvar os arquivos e fotos dele ou dela, certo? Caso sim, como eu vincularia esse diretório ao meu domínio UserProfile
?
Pelo Id, ou algo que seja único.
Dependendo da aplicação é melhor guardar no banco, em tablespace próprio. Em aplicações transacionais gerenciar qualquer tipo de dado “por fora” é perigoso para integridade referencial com demais dados. Por outro lado é mais performático, mas em aplicações internas isso pode ser menos importante do que a integridade.
1 curtida
Entendi. Para a aplicação que preciso fazer, será necessário usar o banco. É uma aplicação externa e será hospedada em uma plataforma tipo o Heroku
, por exemplo. Sim, penso em manter a integridade dos dados.
OK! Muito obrigada! Sua resposta me deu um norte! 