[Logo] Neo Framework Forum
  [Search] Busca   [Recent Topics] Tópicos Recentes   [Members]  Lista de Usuários   [Groups] De volta para a página principal 
[Register] Registrar / 
[Login] Entrar 
Mensagens enviadas por: hugo.ferreira  XML
Perfil de hugo.ferreira -> Mensagens enviadas por hugo.ferreira [4]
Autor Mensagem
Olá, michael-pr!

Bem, acho q tenho uma coisa parecida aki que pode te ajudar...
Para salvar uma lista de arquivos vinculadas a um bean temos que salvar arquivo por arquivo, na "unha".

Temos esses Beans:

Code:
 @Entity
 public class Email implements Serializable {
 
 	private static final long serialVersionUID = 1L;
 	protected Integer cdemail;
 	protected String mensagem;
 	protected Set<Anexo> listaAnexo = new ListSet<Anexo>(Anexo.class);
 
 //Gets and Sets
 }
 


Code:
 @Entity
 public class Anexo implements Serializable {
 
 	private static final long serialVersionUID = 1L;
 	protected Integer cdanexo;
 	protected Email email;
 	protected Arquivo arquivo;
 
 //Gets and Sets
 }
 


Criamos uma função no AnexoService que grava os arquivos da lista um a um:

Code:
 public void saveAnexo(Email email) {
 	Set<Anexo> listaAnexo = email.getListaAnexo();
 	if (listaAnexo != null && listaAnexo.size() > 0) {
 		for (Anexo anexo : listaAnexo) {
 			arquivoDAO.saveFile(anexo, "arquivo");
 		}
 	}
 }
 



E por fim, sobrescrevemos as funções updateSaveOrUpdate, saveOrUpdate e delete de "EmailDAO":

Code:
 	@Override
 	public void updateSaveOrUpdate(final SaveOrUpdateStrategy save) {
 		Email email = (Email) save.getEntity();
 		anexoService.saveFotosAnexo(email);
 		save.saveOrUpdateManaged("listaAnexo");
 	}
 

Code:
 	@Override
 	public void saveOrUpdate(final Email email) {
 		transactionTemplate.execute(new TransactionCallback(){
 			public Object doInTransaction(TransactionStatus arg1) {
 				EmailDAO.super.saveOrUpdate(email);
 				return null;
 			}});
 	}
 

Code:
	
 	@Override
 	public void delete(Email bean) {
 		List<Anexo> findBy = anexoService.getByEmail(bean);
 		for (Anexo anexo : findBy) {
 			anexoService.delete(anexo);
 			arquivoDAO.delete(anexo.getArquivo());
 		}
 		super.delete(bean);
 	}
 


Espero que tenha ajudado.
Um abraço!
Ok!

Vlw Pedro!
Boa tarde, fórum!

Bem, tenho uma tabela que tem um relacionamento ManyToMany com ela mesma.
Vejam o Bean da tabela auxiliar:

Code:
 @Entity
 @SequenceGenerator(name = "sq_pessoaempresa", sequenceName = "sq_pessoaempresa")
 @DisplayName("Empresas Relacionadas")
 public class Pessoaempresa implements Serializable {
 
 	private static final long serialVersionUID = 1L;
 	protected Integer cdpessoaempresa;
 	protected Pessoa pessoa;
 	protected Pessoa empresa;
 
 	//Get e Set
 	
 }
 


E o da tabela principal:

Code:
 @Entity
 @Inheritance(strategy=InheritanceType.JOINED)
 @SequenceGenerator(name = "sq_pessoa", sequenceName = "sq_pessoa")
 public class Pessoa implements User{
 
 	protected Integer cdpessoa;
 	protected String nome;
 	protected Set<Pessoaempresa> listaPessoaempresa= new ListSet<Pessoaempresa>(Pessoaempresa.class);
 
 	//Get e Set
 	
 }
 


No cadastro de usuário coloquei em uma t:detalhe a listaPessoaempresa e um combo onde ele seleciona a propriedade empresa.

Na hora de salvar é que vem o problema: está soltando a seguinte exceção:

* RuntimeException: Não foi possível usar o saveOrUpdateManaged(String) para br.com.estta.sgr.beans.Pessoa! Possíveis causas: A os itens do collection não possuem referencia para o pai, O path estava incorreto. O path leva a uma coleção que não tem classe persistente

* RuntimeException: Não é possível determinar a classe pai para a propriedade. Existem 2 referencias da classe Pessoaempresa para a classe Pessoa


Pelo que entendi isto está acontecendo porque no bean da tabela auxiliar tenho 2 propriedades do tipo "Pessoa".


Pergunta: como faço para resolver o problema?
Olá!

Gostaria de saber como alterar o tamanho limite de upload de arquivos no NEO.


Obrigado!
 
Perfil de hugo.ferreira -> Mensagens enviadas por hugo.ferreira [4]
Ir para:   
Powered by JForum 2.1.7 © JForum Team