Autor |
Mensagem |
|
Já fiz o load normalmente e funcionou ok, então esqueça a duvida 2;
Agora o warn não está saindo...
|
 |
|
Existe algum metodo no GenericDao que retorna o Bean com todos seus filhos preechidos? Ou tem que implementar normalmente?
ex:
Tenho a classe conteudo, a qual quero carregar e depois poder acessar conteudo.getmidia().getArquivo().getNome.
abraços;
EDITADO:
aproveitarei que você ainda não leu para postar outras duvidas:
1)
Na minha tela crud de conteudo (que tem um filho imagem) está causando o seguinte warn no log:
Code:
2007-07-05 16:01:09,144 [http-8080-Processor24] WARN br.com.linkcom.neo.bean.PropertyDescriptorBeanWrapper - Não foi possível encontrar Imagem com identificador 2 no banco de dados
2007-07-05 16:01:09,144 [http-8080-Processor24] WARN br.com.linkcom.neo.bean.PropertyDescriptorBeanWrapper - Carregando objeto da classe java.lang.String sob demanda. propriedade (titulo). Utilize leftOuterJoinFetch para evitar esse problema
2007-07-05 16:01:09,145 [http-8080-Processor24] INFO br.com.linkcom.neo.persistence.QueryBuilder - SELECT imagem FROM org.neo.exemplo.bean.Imagem imagem WHERE imagem.idimagem = ?
2007-07-05 16:01:09,241 [http-8080-Processor24] WARN br.com.linkcom.neo.bean.PropertyDescriptorBeanWrapper - Não foi possível encontrar Imagem com identificador 2 no banco de dados
2007-07-05 16:01:09,241 [http-8080-Processor24] WARN br.com.linkcom.neo.bean.PropertyDescriptorBeanWrapper - Carregando objeto da classe java.lang.String sob demanda. propriedade (titulo). Utilize leftOuterJoinFetch para evitar esse problema
a questão é que já está implementado o leftOuterJoinFetch, o codigo dele é o seguinte:
Code:
@Override
public void updateEntradaQuery(QueryBuilder<Conteudo> query) {
query.leftOuterJoinFetch("conteudo.imagem");
}
@Override
public void updateListagemQuery(QueryBuilder<Conteudo> query, FiltroListagem filtro) {
query.leftOuterJoinFetch("conteudo.imagem");
}
--------------------------
2)
Estou precisando gravar o conteudo num arquivo xml, sempre que o mesmo é salvo no banco... então estava tentando fazer a sobrecarga do metodo salvar no meu CRUD, e depois que o conteudo fosse salvo, carregava ele do banco com todos os filhos e salvaria no xml...
o problema é que a sessão é fechada depois que ele salvo no banco... e ai não sei consigo carregar (com service.load) pq da erro...
|
 |
|
valeu pela ajuda.
Vou fazer isso então...
Agora, vc tem algum previsão para a proxima versão?
|
 |
|
Já tinha feito dessa maneira e também tentado com o hidden...
Agora eu colocando o date como hidden ele converte pra string e não consegue converter de volta na hora de ler...
Estou tentando pensar em uma solução, mas caso eu queira posso colocar sem o hidden e com um readonly?
abraços
EDITADO:
Testei agora sem o hidden e deu o mesmo erro... segue abaixo:
Code:
2007-07-04 15:13:06,411 [http-8080-Processor23] ERROR br.com.linkcom.neo.controller.DispatcherServlet - Could not complete request
java.lang.RuntimeException: Conversor ainda não completamente implementado
at br.com.linkcom.neo.bean.editors.TimestampPropertyEditor.setAsText(TimestampPropertyEditor.java:32)
at br.com.linkcom.neo.controller.ExtendedBeanWrapper.doTypeConversionIfNecessary(ExtendedBeanWrapper.java:1223)
at br.com.linkcom.neo.controller.ExtendedBeanWrapper.setPropertyValue(ExtendedBeanWrapper.java:990)
at br.com.linkcom.neo.controller.ExtendedBeanWrapper.setPropertyValue(ExtendedBeanWrapper.java:854)
at br.com.linkcom.neo.controller.ExtendedBeanWrapper.setPropertyValue(ExtendedBeanWrapper.java:1078)
at br.com.linkcom.neo.controller.ExtendedBeanWrapper.setPropertyValues(ExtendedBeanWrapper.java:1105)
[code]
|
 |
|
Consegui parcialmente...
Estou fazendo assim no meu CRUD:
Code:
@Override
protected void salvar(WebRequestContext arg0, Conteudo conteudo) throws Exception {
Timestamp dataAtual = new Timestamp(System.currentTimeMillis());
if (conteudo.getIdconteudo() == null)
conteudo.setDataCadastro(dataAtual);
conteudo.setDataAlteracao(dataAtual);
super.salvar(arg0, conteudo);
}
o que está acontecendo agora é que na alteração ele seta a data de cadastro como null... percebi que ele faz o update sempre em todos os campos então seria necessario colocar um hidden da data de cadastro na pagina de entrada? tem como setar diretamente o property como hidden?
EDITADO:
Tentei colocar o hidden mas ele não consegue converter de novo para timestamp.
grato e abraços;
|
 |
|
Estou com uma classe a qual tenho uma data de cadastro e uma data de alteração, gostaria de no cadastro inserir as duas datas como data atual e na alteração fazer um update somente da segunda data, porem só encontrei o metodo saveorupdate pra fazer o override... Existem metodos diferentes para inserir e alterar que eu possa modificar pra fazer alterar o bean antes de persistir para o bd?
grato pela ajuda,
abraços;
|
 |
|
Entendi sim, vou testar assim que chegar em casa.
Mas n tem como eu pegar o descriptionproperty como o neo pega no property n?
|
 |
|
Estou na tela imagemListagem.
E lá estou precisando do campo nome, que fica em imagem.getArquivo().getNome()...
ex1:
<n:column header="imagem">
<img src="${imagem.caminho}">
</n:column>
qnd eu faço assim funciona...ele pega a propriedade caminho da imagem, que eu repliquei no banco só pra testar.
agora qnd faço
ex1:
<n:column header="imagem">
<img src="${imagem.arquivo.nome}">
</n:column>
Ai perguntei se era pq o nome não é carregado automaticamente.
consegui ser claro agora?
valeu,
abraços;
EDITADO:
Vi agora q está dando LazyInitializationException; mas colocando diretamente no <t:property name="arquivo.nome"/> funciona!
Qual o motivo?
E caso eu precise configurar o interceptor opensessioninview do spring onde faço?
|
 |
|
Show, funcionou...
Só uma duvida, na listagem de imagem por exemplo se eu tentar pegar imagem.arquivo.caminho dá erro... É porque não carrega os campos, é?
|
 |
|
Oi de novo,
Já consegui salvar a imagem no local que queria, mas agora surgiu outra duvida...
Eu coloquei um campo caminho onde está o endereço da imagem.
Agora gostaria de na minha listagem de imagem exibir ela na tabela gerada pelo neo... Tentei colocar uma tag <img> mas ficou fora da tabela... e tentei tb o t:property type=image mas n funcionou exibia a string...
Se tiver alguma tag q exiba essa imagem e eu possa setar width e heigth como na tag <img agradeço.
grato pela ajuda
abraços,
|
 |
|
valeu vou dar uma pesquisada.
|
 |
|
O metodo getSaveDir no caso não?
alterei ele no meu ArquivoDao e funcionou.
Uma outra duvida meio desvirtuada do topico... No neo existe algum suporte a relacionamento many-to-many...por exemplo se eu colocar no meu bean as anotações do hibernate a minha tela de entrada.jsp fica pronto do modo normal ou tenho q fazer manualmente?
abraços.
|
 |
|
Ok.
Valeu pelas respostas, só mais uma coisa... onde eu altero a pasta que o neo salva a imagem?
abraços
|
 |
|
Segui o tutorial de upload de arquivo e parece ter ocorrido tudo ok.
Só estou com algumas duvidas...
- A imagem salva no processo é gravada fisicamente aonde? Não encontrei...
- Tem como eu dimensionar a imagem antes de salvar (colocar altura e largura)?
- Na pagina de alteração tem como eu visualizar a imagem já salva em um tamanho pequeno?
Grato por toda ajuda,
abraços
|
 |
|
Realmente era a nomenclatura do DAO que eu escrevi Dao.
Obrigado mesmo pela ajuda, e desculpe pelo trabalho... vou tentar aprender mais agora o framework.
abraços
|
 |
|