Salvar caminho de arquivo no banco de dados com JPA
4 respostas
J
jaissonduarte
e ai pessoal finalmente consegui fazer upload, ele salva numa pasta
agora gostaria de saber como faço para guardar esse caminho no banco de dados com JPA
junto com os outros atributos do arquivo
tipo a tabela fica assim:
agora como faço para por o endereço no banco de dados?
J
jaissonduarte
Consegui resolver esse detalhe se alguém for seguir esse tópico vou mandar um jeito que eu resolvi e eu usei Prime Faces
primeiro criei a classe que espelha o banco de dados:
publicclassArquivoimplementsSerializable{privatestaticfinallongserialVersionUID=1L;@Id@Basic(optional=false)@NotNull@Column(name="id")privateIntegerid;@Basic(optional=false)@NotNull@Size(min=1,max=[telefoneremovido])@Column(name="descricao")privateStringdescricao;@Basic(optional=false)@NotNull@Size(min=1,max=[telefoneremovido])@Column(name="caminho")privateStringcaminho;/* gets e set*/
ai tem as outras classes de controle e tem esse método:
publicStringcreate(){try{getFacade().create(current);JsfUtil.addSuccessMessage(ResourceBundle.getBundle("/Bundle").getString("ArquivoCreated"));returnprepareCreate();}catch(Exceptione){JsfUtil.addErrorMessage(e,ResourceBundle.getBundle("/Bundle").getString("PersistenceErrorOccured"));returnnull;}}publicvoidfileUploadAction(FileUploadEventevent)throwsIOException{try{//Cria um arquivo UploadFile, para receber o arquivo do evento UploadedFilearq=event.getFile();InputStreamin=newBufferedInputStream(arq.getInputstream());//copiar para pasta do projeto Filefile=newFile("/home/ifrs/img/"+arq.getFileName());//O método file.getAbsolutePath() fornece o caminho do arquivo criado //Pode ser usado para ligar algum objeto do banco ao arquivo enviado current.setCaminho(file.getAbsolutePath());FileOutputStreamfout=newFileOutputStream(file);while(in.available()!=0){fout.write(in.read());}fout.close();FacesMessagemsg=newFacesMessage("O Arquivo ",file.getName()+" salvo.");FacesContext.getCurrentInstance().addMessage("msgUpdate",msg);}catch(Exceptionex){ex.printStackTrace();}}