entityManager.refresh(t) - atualizar id do novo registro

após inserir um novo registro vou pra página print.jsp q exibe os dados q foram inseridos, só que como o id é obtido pelo auto_increment não consigo saber qual foi esse novo id recebido…

tentei o código seguinte no save mas da erro na linha 03. java.lang.ClassCastException: org.hibernate.action.DelayedPostInsertIdentifier cannot be cast to java.lang.Integer

public T save(T t) { entityManager.persist(t); entityManager.refresh(t); return t; }

como atualizar o objeto t, e com isso retornar ele já com o id setado?

grato…

Mesmo o post sendo antigo, acho que pode ajudar alguém:

É só inserir a anotação @GeneratedValue(strategy = GenerationType.IDENTITY) antes do campo id, na classe Entity Maneger.

Ex.:

@Entity
@Table(name = "Cliente")
public class Cliente implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    @Column(name = "id")
    private Integer id;
}