111 votes

Qu'est-ce que la persistance détachée et l'objet transitoire en veille prolongée?

Qu'est-ce que la persistance détachée et l'objet transitoire en veille prolongée? S'il vous plaît expliquer avec un exemple.

Merci d'avance.

181voto

Pascal Thivent Points 295221

Un new instance d'une classe persistante qui n'est pas associé à un Session, n'a pas de représentation dans la base de données et aucune valeur de l'identificateur est considéré comme transitoire par Hibernate:

Person person = new Person();
person.setName("Foobar");
// person is in a transient state

Une persistante exemple, a une représentation dans la base de données, une valeur d'identificateur et est associée à un Session. Vous pouvez faire un transitoire de l'instance persistante en l'associant avec un Session:

Long id = (Long) session.save(person);
// person is now in a persistent state

Maintenant, si nous close Hibernate Session, l'instance persistante deviendra un détachée exemple: il n'est pas attaché à un Session (mais peut toujours être modifié et remis en place à un nouveau Session par la suite).

Tout cela est clairement expliqué, c'est l'ensemble du Chapitre 10. Travailler avec des objets de la documentation Hibernate que je ne fais que paraphraser ci-dessus. Définitivement un must read.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X