View mysql não atualiza após update no banco

Caros colegas boa tarde.

Peço ajuda dos senhores em uma situação que já pesquisei bastante e não encontrei a solução.

Utilizo em algumas listas, view do mysql (um select com várias tabelas) criada como entidade, a consulta funciona perfeitamente, porém quando faço um update na tabela principal, e chama a pagina com a lista, ela não traz as alterações feitas, o interessante é que o insert ou delete atualiza normalmente.

Teria algum comando que eu possa colocar e ele atualiza essa view.

Fico no aguardo de uma ajuda.

Att,
Alexandre.

mas no banco consta as alterações?

Oi Cleiton, verdade esqueci de comentar sobre isso, no banco é feito o update corretamente, somente a view que não atualiza.

Obrigado pelo retorno.

Att,
Alexandre.

estranho… perguntei isso pq imaginei que no update vc poderia está dando roolback em algum momento.
tu deve está fazendo alguma coisa de diferente na hora de dar update.

Poste exemplo do código ???

Boa tarde, segue minhas classes:

Minha Classe Model referente a View no mysql

@Entity
@Table(name="contaspagasepagar")
public class ContasPagasePagar implements Serializable{
	
	@Id
	private Long idconta;
	private Long compraconta;
	private Long vendaconta;
	private String vencconta;
	private String datapagtoconta;
	private String descricaoconta;
	private String categoriaconta;
	private String fornecedorconta;
	private String veiculoplacaconta;
	private String valorconta;	
	
	public Long getIdconta() {
		return idconta;
	}

	public void setIdconta(Long idconta) {
		this.idconta = idconta;
	}

       e o restante dos Getters e setters
	
}

Minha classe dao generica:

public class DaoGenerico <PK, T> {
	
	EntityManager em = JPAUtil.getEntityManager();

	protected void init() {
		// Inciando a transação
		JPAUtil.init();
	}

	protected void commit() {
		// Finalizando a transação
		JPAUtil.commit();
	}

	protected void rollback() {
		// estornando a transação
		JPAUtil.rollback();
	}	
		
	public void salvar(T modelo){
		this.init();
		em.persist(modelo);
		this.commit();
	}

	public void deletar(T modelo, long id){
		this.init();
		T encontrado = (T) em.find(modelo.getClass(), id);
		em.remove(encontrado);
		this.commit();
	}

	public void atualizar(T modelo) {
		this.init();
		em.merge(modelo);
		this.commit();	
	}

	public List<T> buscaTodos() {
		String jpql = "from " + getTypeClass().getName();
		Query qry = em.createQuery(jpql);
		return qry.getResultList();
	}
	
	public T buscaPorId(T modelo, Long id){
		return (T) em.find(modelo.getClass(), id);
	}
	
    private Class<?> getTypeClass() {
        Class<?> clazz = (Class<?>) ((ParameterizedType) this.getClass()
          .getGenericSuperclass()).getActualTypeArguments()[1];
        return clazz;
    }
}

Trecho da minha classe Dao que grava o contas a pagar:

public class ContasapagarDao extends DaoGenerico<Long, Contasapagar>{
@Override
public void salvar(Contasapagar contasapagar) {
	if (contasapagar.getId() == -1)
		super.salvar(contasapagar);
	else
		super.atualizar(contasapagar);
}

trecho do metodo na minha classe controller:

@RequestMapping("/listacontaspagasepagar")  
public ModelAndView lista(){
	List<ContasPagasePagar> contaspagasepagar = new ContasapagarDao().listaContasPagasePagar();
				
	ModelAndView mv = new ModelAndView("listacontasapagar");  //mesmo nome da minha jsp
	mv.addObject("contaspagasepagar",contaspagasepagar);		
	return mv;	
	
}	

Se precisar de mais algum trecho do codigo me avise por favor.

Att,
Alexandre.

Boa noite.

Caros colegas consegui resolver fazendo um refresh da entidade, carrego um objeto da entidade view correspondente a entidade principal que foi alterado o registro, segue exemplo:

	Long codigo = contas.getId();
	ContasPagasePagar contaspagasepagar_ = new ContasPagasePagar();
	contaspagasepagar_ = new ContasPagasePagarDao().buscaPorId(contaspagasepagar_, codigo);
	new ContasPagasePagarDao().refresh(contaspagasepagar_);	

Esperdo ajudar outros que estejam com a mesma duvida.

Abraços.

Att,
Alexandre