Ola.
Estou fazendo uma aplicação desktop com JPA e Hibernate. Inicialmente um pequeno projeto com as operações CRUD. Bom, consigo Inserir, Consultar e Remover, porém, quando trata-se de alteração (atualização de dados) não estou tendo sucesso. Usei persist, merge … mas nada. Alguem teria alguma sugestão?
Atenciosamente.
Marcos.
[quote=mpisching]Ola.
Estou fazendo uma aplicação desktop com JPA e Hibernate. Inicialmente um pequeno projeto com as operações CRUD. Bom, consigo Inserir, Consultar e Remover, porém, quando trata-se de alteração (atualização de dados) não estou tendo sucesso. Usei persist, merge … mas nada. Alguem teria alguma sugestão?
Atenciosamente.
Marcos.[/quote]
Tenta algo assim:
public void salvarFornecedor() {
Session session = HibernateUtil.getCurrentSession();
DAO<Fornecedor> dao = new DAO<Fornecedor>(session, Fornecedor.class);
if(fornecedor.getId()==null){
dao.salveOrUpdate(this.fornecedor);
}else{
session.merge(this.fornecedor);
}
this.fornecedor = new Fornecedor();
}
No DAO
@SuppressWarnings("unchecked")
public void salveOrUpdate(T t) {
session.saveOrUpdate(t);
}

[quote=mpisching]Beleza. Deu certo.
Valeu.[/quote]
Blz, []s 
pode me ajudar me dando um exemplo de um DAO usando a JPA? estou acostumado com o JDBC puro e me enrolando pra migrar pra nova estrutura…
valew!
[quote=AugustoCSS]pode me ajudar me dando um exemplo de um DAO usando a JPA? estou acostumado com o JDBC puro e me enrolando pra migrar pra nova estrutura…
valew![/quote]
Opa, um exemplo simples aí de DAO generico 
[]
[code]public class DAO {
// T = Type ou seja tipo
private Session session;
private Logger logger = Logger.getLogger(DAO.class);
// criado p/ pegar a classe q vai no método load e generics q nao permite
// chamar atributos e metodos
private Class classe;
public DAO(Session session, Class classe) {
this.session = session;
this.classe = classe;
}
@SuppressWarnings("unchecked")
public void save(T t) {
logger.info("salvando " + t);
session.save(t);
}
@SuppressWarnings("unchecked")
public T load(Long id) {
logger.info("lendo " + classe + " id: "+id);
return (T) session.load(classe, id);
}
@SuppressWarnings("unchecked")
public void salveOrUpdate(T t) {
session.saveOrUpdate(t);
}
public void deleta(T t) {
logger.info("deletando " + t);
session.delete(t);
}
@SuppressWarnings("unchecked")
public List<T> list() {
// Critéria API
Criteria criteria = getSession().createCriteria(classe);
return criteria.list();
}
// Criado p/ as outras classes conseguirem ver
public Session getSession() {
return session;
}
public void setSession(Session session) {
this.session = session;
}
public List<String> buscaNomeFornecedor(String buscaNomeFornecedor){
Criteria criteria = session.createCriteria(Fornecedor.class);
criteria.add(Restrictions.ilike("nome", buscaNomeFornecedor + "%"));
criteria.addOrder(Order.asc("nome"));
criteria.setProjection(Projections.property("nome"));
return criteria.list();
}
}[/code]

[quote=Victor Maehira]Imagino que vc deve ter feito o “web avançado”, não?! Gostou do curso? Qual sua opinião? O Guilherme que deu o curso?!
Eu fiz o primeiro módulo e curti!!
Valeu![/quote]
Sim o FJ26, adorei o curso excelente, recomento quem já sabe Java Web a fazer pq aprende mta coisa q se utiliza em agilidade de desenvolvimento, quem deu o curso foi o Sérgio Lopes, vale mto a pena desse INVESTIMENTO na carreira 
Cara… ficou muuuito legal esse DAO genérico! Nunca tinha pensado nisso! Parabéns!
Imagino que vc deve ter feito o “web avançado”, não?! Gostou do curso? Qual sua opinião? O Guilherme que deu o curso?!
Eu fiz o primeiro módulo e curti!!
Valeu!