J'ai un problème avec hibernate, le problème est quand je sauvegarde dans la base de données mais quand j'essaye de trouver cette dernière insertion il ne trouve pas jusqu'à ce que j'ai fait une action dans la base de données, comme je trouver ou effacer d'autres données.problèmes avec hibernate sauver dans la base de données
Voilà comment je sauve:
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
session = sessionFactory.openSession();
Transaction tx = null;
try {
tx = session.beginTransaction();
session.saveOrUpdate(o);
session.saveOrUpdate(o1); // o and o1 are two differents objects
tx.commit();
} catch (Exception e) {
if (tx != null) {
tx.rollback();
}
}
Et voilà comment j'essaie de trouver dans la base de données après une insertion:
public List getUserNames(int startID, int endID) {
List<User> userList = null;
try {
org.hibernate.Transaction tx = session.beginTransaction();
Query q = session.createQuery("select u from User u ");
userList = (List<User>) q.list();
} catch (Exception e) {
e.printStackTrace();
}
return userList;
}
J'ai essayé beaucoup de choses, mais rien faire la différence, comme changez saveOrUpdate pour fusionner ou simplement sauvegarder, mais cela n'a fait aucune différence. merci à tous ceux qui peuvent aider.
essayez d'imprimer l'exception dans votre fonction de sauvegarde pour voir si la sauvegarde donne des erreurs –
Vous partagez la 'session' entre les deux méthodes? Est-ce un membre de la classe qui héberge les deux méthodes (ce qui serait mauvais)? Est-ce pour un seul fil ou plus? –
mon sauvegarde n'a pas d'erreur, mon insertion fonctionne, quand je vais au terminal de base de données pour montrer cette dernière insertion, il apparaît normalement, mais quand j'essaie de le trouver, il ne trouve pas – sams15