Eu estou usando um pc com windows e criei a pasta C:\casadocodigo\livros na maquina, mas ao salvar um livro o arquivo esta sendo colocado no caminho c:\casadocodigo e não na subpasta livros.
adminLivroBean
@Named
@RequestScoped
public class AdminLivrosBean {
private Livro livro = new Livro();
private List<Integer> autoresId = new ArrayList<>();
private Part capaLivro;
@Inject
LivroDao livroDao;
@Inject
AutorDao autorDao;
@Inject
private FacesContext context;
@Transactional
public String salvar() throws IOException{
for (Integer autorId : autoresId) {
this.livro.getAutores().add(new Autor(autorId));
}
livroDao.salvar(this.livro);
String path = "/casadocodigo/livros" + capaLivro.getSubmittedFileName();
capaLivro.write(path);
livro.setCapaPath(path);
context.getExternalContext().getFlash().setKeepMessages(true);
context.addMessage(null, new FacesMessage("Livro adicionado com sucesso! " + this.livro.getTitulo()));
return "/livros/lista?faces-redirect=true";
}
Livro
@Entity
public class Livro {
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
@NotBlank
private String titulo;
@Lob
@NotBlank
@Length(min=20, max=300)
private String descricao;
@Min(50)
private Integer numeroPaginas;
@DecimalMin("20")
private BigDecimal preco;
@ManyToMany
@NotNull
@Size(min=1)
private List<Autor> autores = new ArrayList<>();
@Temporal(TemporalType.DATE)
private Calendar dataPublicacao = Calendar.getInstance();
private String capaPath;