Sessão Hibernate

3 respostas
tads

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

3 Respostas

Jair_Rillo_Junior

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

tads

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

urubatan

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:

Criado 5 de setembro de 2003
Ultima resposta 5 de set. de 2003
Respostas 3
Participantes 3