J'utilise Hibernate au travers de servlet pour acceder à mes données,
et j'ai une application propriétaire qui met à jour la base en parallèle.
Comment faire pour que Hibernate me detecte un changement sur un champ au
cours de la session ?
En d'autre terme avec des accès concurrents comment faire pour que sur
certains objets (voir champs) j'ai du cache et pas sur d'autre ?
La doc d'hibernate est pas super clair (ou c'est moi qui suis long à la
détente) sur le sujet.
Est-ce que je dois créer un champs version et faire des merge() ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre Gilquin
Ca va surement pas t'aider. J'utilise un seul "canal" : nn mapping object-relationnel et un serveur d'appli qui sert aussi bien des objets distribuées pour un client Java et des pages Web.
Sinon, tu dois surement pouvoir parametrer Hibernate pour qu'il refetch souvent ou selon une notification en provenance de ton appli.
Pierre
"Jim How" a écrit dans le message de news: 443baef1$0$21302$
Bonjour,
J'utilise Hibernate au travers de servlet pour acceder à mes données, et j'ai une application propriétaire qui met à jour la base en parallèle.
Comment faire pour que Hibernate me detecte un changement sur un champ au cours de la session ?
En d'autre terme avec des accès concurrents comment faire pour que sur certains objets (voir champs) j'ai du cache et pas sur d'autre ?
La doc d'hibernate est pas super clair (ou c'est moi qui suis long à la détente) sur le sujet. Est-ce que je dois créer un champs version et faire des merge() ?
Merci de votre aide...
-- Jim
Ca va surement pas t'aider.
J'utilise un seul "canal" : nn mapping object-relationnel et un serveur
d'appli qui sert aussi bien des objets distribuées pour un client Java et
des pages Web.
Sinon, tu dois surement pouvoir parametrer Hibernate pour qu'il refetch
souvent ou selon une notification en provenance de ton appli.
Pierre
"Jim How" <jiw@jiworld.net> a écrit dans le message de news:
443baef1$0$21302$8fcfb975@news.wanadoo.fr...
Bonjour,
J'utilise Hibernate au travers de servlet pour acceder à mes données,
et j'ai une application propriétaire qui met à jour la base en parallèle.
Comment faire pour que Hibernate me detecte un changement sur un champ au
cours de la session ?
En d'autre terme avec des accès concurrents comment faire pour que sur
certains objets (voir champs) j'ai du cache et pas sur d'autre ?
La doc d'hibernate est pas super clair (ou c'est moi qui suis long à la
détente) sur le sujet.
Est-ce que je dois créer un champs version et faire des merge() ?
Ca va surement pas t'aider. J'utilise un seul "canal" : nn mapping object-relationnel et un serveur d'appli qui sert aussi bien des objets distribuées pour un client Java et des pages Web.
Sinon, tu dois surement pouvoir parametrer Hibernate pour qu'il refetch souvent ou selon une notification en provenance de ton appli.
Pierre
"Jim How" a écrit dans le message de news: 443baef1$0$21302$
Bonjour,
J'utilise Hibernate au travers de servlet pour acceder à mes données, et j'ai une application propriétaire qui met à jour la base en parallèle.
Comment faire pour que Hibernate me detecte un changement sur un champ au cours de la session ?
En d'autre terme avec des accès concurrents comment faire pour que sur certains objets (voir champs) j'ai du cache et pas sur d'autre ?
La doc d'hibernate est pas super clair (ou c'est moi qui suis long à la détente) sur le sujet. Est-ce que je dois créer un champs version et faire des merge() ?
Merci de votre aide...
-- Jim
alexandre cartapanis
Bonjour,
J'utilise Hibernate au travers de servlet pour acceder à mes donnée s, et j'ai une application propriétaire qui met à jour la base en para llèle.
Comment faire pour que Hibernate me detecte un changement sur un champ au cours de la session ?
En d'autre terme avec des accès concurrents comment faire pour que su r certains objets (voir champs) j'ai du cache et pas sur d'autre ?
La doc d'hibernate est pas super clair (ou c'est moi qui suis long à la détente) sur le sujet. Est-ce que je dois créer un champs version et faire des merge() ?
Merci de votre aide...
A mon avis en jouant sur l'élément cache et lazy tu dois pouvoir arri ver a faire qqc.
l'idée c'est d'identifier les tables susceptibles d'être modifié. S i toute les sont, autant virer le cache immédiatement. Après, tu peux mettre un "read-only" comme stratégie de cache et utiliser lazy.
L'autre solution est de gérer le cache "toi même", http://www.hibernate.org/hib_docs/v3/reference/fr/html_single/#performanc e-sessioncache Ici l'idée c'est de n'appeler flush que quand tu en as besoin.
Bon a mon avis tu risques qd même d'avoir un souci de performance a un moment... Mais bon c'est récurrent avec hibernate.
-- Alexandre CARTAPANIS - Responsable Système et Réseau Email Gsm. 06 72 07 51 55
J'utilise Hibernate au travers de servlet pour acceder à mes donnée s,
et j'ai une application propriétaire qui met à jour la base en para llèle.
Comment faire pour que Hibernate me detecte un changement sur un champ au
cours de la session ?
En d'autre terme avec des accès concurrents comment faire pour que su r
certains objets (voir champs) j'ai du cache et pas sur d'autre ?
La doc d'hibernate est pas super clair (ou c'est moi qui suis long à la
détente) sur le sujet.
Est-ce que je dois créer un champs version et faire des merge() ?
Merci de votre aide...
A mon avis en jouant sur l'élément cache et lazy tu dois pouvoir arri ver
a faire qqc.
l'idée c'est d'identifier les tables susceptibles d'être modifié. S i
toute les sont, autant virer le cache immédiatement. Après, tu peux
mettre un "read-only" comme stratégie de cache et utiliser lazy.
L'autre solution est de gérer le cache "toi même",
http://www.hibernate.org/hib_docs/v3/reference/fr/html_single/#performanc e-sessioncache
Ici l'idée c'est de n'appeler flush que quand tu en as besoin.
Bon a mon avis tu risques qd même d'avoir un souci de performance a un
moment... Mais bon c'est récurrent avec hibernate.
--
Alexandre CARTAPANIS - Responsable Système et Réseau
Email alexandre.cartapanis@macymed.fr
Gsm. 06 72 07 51 55
J'utilise Hibernate au travers de servlet pour acceder à mes donnée s, et j'ai une application propriétaire qui met à jour la base en para llèle.
Comment faire pour que Hibernate me detecte un changement sur un champ au cours de la session ?
En d'autre terme avec des accès concurrents comment faire pour que su r certains objets (voir champs) j'ai du cache et pas sur d'autre ?
La doc d'hibernate est pas super clair (ou c'est moi qui suis long à la détente) sur le sujet. Est-ce que je dois créer un champs version et faire des merge() ?
Merci de votre aide...
A mon avis en jouant sur l'élément cache et lazy tu dois pouvoir arri ver a faire qqc.
l'idée c'est d'identifier les tables susceptibles d'être modifié. S i toute les sont, autant virer le cache immédiatement. Après, tu peux mettre un "read-only" comme stratégie de cache et utiliser lazy.
L'autre solution est de gérer le cache "toi même", http://www.hibernate.org/hib_docs/v3/reference/fr/html_single/#performanc e-sessioncache Ici l'idée c'est de n'appeler flush que quand tu en as besoin.
Bon a mon avis tu risques qd même d'avoir un souci de performance a un moment... Mais bon c'est récurrent avec hibernate.
-- Alexandre CARTAPANIS - Responsable Système et Réseau Email Gsm. 06 72 07 51 55