Sessão Hibernate

Bom dia,

Como eu faço para buscar, por exemplo o último
Customer inserido (session.insert(Customer))
na mesma sessão???

Olha o código aí:

session = dataSource.openSession();
tx = session.beginTransaction();

dataSource.insert(customer, session);

ArrayList listCustomer = dataSource.select(“from Customer”);

O list acima não exibe, por exemplo, o último que eu inseri
através do método insert(…) acima…

Alguém tem algumas dicas sobre isto?

valew

Abraço

quase certeza que após vc dar o insert vc tem que dar um commit na sua transação…

agora se na mesma transação que vc inseriu vc quer trazer os dados do DB, acho que não é possivel, e isso não se equivale apenas em Java, pois o lance de transação é tratado pelo DB

Olá,

Nos projetos anteriores, onde utilizo uma classe da própria
empresa (que implementa JDBC) é possível fazer isso.
Eu precisaria deste tipo de funcionalidade para, por exemplo fazer o seguinte:

try
{
insertCustomer(Dados do Customer);

insertStatusCustomer(Id do consumer inserido anteriormente,
statusInicial);

commit();
}
catch (Exception e)
{
rollback();
}
finally
{
close();
}

faço isso porque vamos supoer que o método
insertStatusCustomer dê algum erro.
Então eu tenho q desfazer tbm o que o método anterior
insertCustomer(), não inserindo os dados na base.

Não teria então um jeito de se fazer isso no Hibernate?

Bom, a principio eu estou havaliando o hibernate para ver
se realmente vamos implantar aqui. É por isso
que tenho q ver as possibilidades.

Valew pela ajuda,

Abraço

para que fazer um select antes de comitar??
não entendi o por que da necessidade disto

mas o efeito que tu quer, pode ser conseguido alterando a propriedade referente a isolação de transações do hibernate.properties
(não lembro o nome da propriedade agora, e nem exatamente do valor que deve colocar nela) mas tenta algum valor que tenha dirty no nome :slight_smile: