[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
Resetar valor de um output  XML
Forum Index -> Comentários Gerais Go to Page: Previous  1, 2
Author Message
andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

To na faculdade... vou testar em casa... vi na API que o KEY do HibernateFilter, que tem uma session, é static... talvez se eu executar um destroy() no meu objeto HibernateFilter a cada action, ele destrua minha session...

vlw
andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

O HibernateFilter já fecha a sessão a cada requisição ao banco...

Meu AppManager:
Code:
        this.action( "MyEspace" , MyEspaceAction.class , "formUpdatePerson" )
         	.filter( new AuthenticationFilter() )
         	.on( AuthenticationFilter.LOGIN , fwd( "MyEspace.login.jsp" ) )
         	.on( MyEspaceAction.SUCCESS , fwd( "MyEspace.formUpdatePerson.jsp" ) )
     		.filter( new IoCFilter( this.personDAO , "personDAO" , IoCFilter.REQUEST ) )
     		.filter( new HibernateFilter() )
     		.filter( new DependencyFilter( HibernateFilter.KEY , "personDAO" , "session" ) );


Meu Action:
Code:
	public String formUpdatePerson() throws Exception {		
 		Person personSession = ( Person ) BaseLoginAction.getUserSession( session );
 		this.personManager = new PersonManager( ( PersonDAO ) input.getValue( "personDAO" ) );
 		Person person = this.personManager.loadById( personSession.getId() );
 		output.setValue( "id" , person.getId() );
 		output.setValue( "name" , person.getName() );
 		output.setValue( "email" , person.getEmail() );
 		output.setValue( "birthDate" , person.getBirthDate() );
 		output.setValue( "church" , person.getChurch() );
 		output.setValue( "position" , person.getPosition() );
 		output.setValue( "password" , person.getPassword() );
 		return SUCCESS;
 	}


PersonManager:
Code:
	public Person loadById( Long id ){
 		try {
 			return this.personDAO.loadById( id );
 		}catch( Exception e ){
 			return null;
 		}		
 	}


PersonHibernateDAO:
Code:
	public void update( Person person ) throws Exception {
 		Transaction transaction = this.session.beginTransaction();
 		try{
 			this.session.update( person );
 			transaction.commit();
 		}catch( Exception e ){
 			transaction.rollback();
 		}
 	}
 
 	public Person loadById( Long id ) throws Exception {
 		return ( Person ) this.session.get( Person.class , id );
 	}


Mas vou tentando...
andre_guitar7


[Avatar]

Joined: 21/03/2006 12:03:21
Messages: 259
Location: Curitiba - PR
Offline

Tava fazendo meu loadById do Hibernate sem Transaction... agora ficou assim:

Code:
	public Person loadById( Long id ) throws Exception {
 		Transaction transaction = this.session.beginTransaction();
 		Person person = null;
 		try{
 			person = ( Person ) this.session.get( Person.class , id );
 			transaction.commit();
 		}catch( Exception e ){
 			transaction.rollback();
 		}
 		return person;
 	}


Agora tá atualizando meus out's do menta
 
Forum Index -> Comentários Gerais Go to Page: Previous  1, 2
Go to:   
Powered by JForum 2.1.6 © JForum Team