En raison de certaines limitations, le client m'a demandé de ne pas pouvoir utiliser la clé primaire "id" incrémentielle, seule la clé primaire composée est autorisée. Et je ne peux pas utiliser l'annotation JPA pour avoir un rappel d'entité. Ainsi, comment puis-je savoir qu'une entité va être insérée ou mise à jour? merci beaucoup.Comment savoir qu'une entité va insérer ou mettre à jour
Répondre
Utilisez une colonne version
@Version
public Integer getVersion() {
return this.version;
}
Que ce soit nul donc il est un insert autre est une mise à jour.
salutations,
Merci beaucoup. Je n'ai pas utilisé Hibernate pendant des années. Depuis le 2.1.7, ça a beaucoup changé, j'ai presque oublié toutes les choses basiques. – Matt
ou je vais utiliser Hibernate EntityManager au lieu de HibernateTemplate de Spring, donc je peux utiliser @PrePersist et @PreUpdate pour connaître l'état. – Matt
N'hésitez pas à demander tout ce que vous voulez. J'ai beaucoup de réponses liées à ORM. Cordialement. –
- 1. Comment puis-je détecter si ApplyUpdates va insérer ou mettre à jour des données?
- 2. Comment insérer/supprimer/mettre à jour dans un arbre ordonné
- 3. Comment mettre à jour s'il existe, insérer si non (AKA "upsert" ou "fusionner") dans MySQL?
- 4. Mettre à jour le modèle de données Entité commerciale
- 5. wpf - afficher, mettre à jour, insérer des modes
- 6. Insérer et mettre à jour en même temps
- 7. sqlite, METTRE A JOUR OU REMPLACER
- 8. NHibernate: Insérer et mettre à jour les dates
- 9. enregistrer ou mettre à jour le problème
- 10. Comment insérer une ligne, mais en double; le mettre à jour à la place?
- 11. Entité SaveChanges() pour l'insertion et la mise à jour?
- 12. Comment savoir si un DataContrat WCF représente une entité persistante ou transitoire?
- 13. Comment mettre à jour mysql?
- 14. Comment mettre à jour datagridview
- 15. Comment mettre à jour ce code
- 16. Validation avec une couche de service, comment mettre à jour une entité
- 17. Comment mettre à jour à Ruby 1.8.7
- 18. comment obtenir usercontrol pour mettre à jour
- 19. Comment mettre à jour un nœud XML?
- 20. Comment mettre à jour une table automatiquement?
- 21. Comment mettre à jour une table relationnelle?
- 22. Quand mettre à jour l'index avec Lucene.NET? Async ou pas?
- 23. Comment mettre à jour automatiquement l'application
- 24. Comment mettre à jour le code PowerBuilder?
- 25. Comment mettre à jour le chemin MATLAB?
- 26. Comment mettre à jour TOP 400?
- 27. Comment savoir si SubmitChanges() va réellement changer quoi que ce soit pour une entité particulière dans LINQ to SQL
- 28. Pouvez-vous insérer/mettre à jour en utilisant une fonction .NET ou un service Web lorsque vous utilisez Entity Framework?
- 29. Entité Entité Framework: TPT, TPH ou none?
- 30. Mettre à jour plusieurs lignes
Est-il nécessaire de savoir qu'il va être inséré ou mis à jour? Une fusion doit effectuer l'une ou l'autre opération selon qu'elle est attachée ou non. –
+1 avec @kaleb. Quel est votre cas d'utilisation? Pourquoi auriez-vous besoin de savoir si c'est un créer ou supprimer. Et pourquoi tu ne sais pas ce que tu fais? –
En tant que conception de plate-forme, disons qu'il existe une interface DefaultManager, elle a une méthode saveOrUpdate() qui prend un POJO comme paramètre. Ainsi, DefaultManager est une super classe pour chaque modèle ou sous-classe logique. Toute sous-classe utilisera saveOrUpdate (Entité entité) pour faire l'insertion ou la mise à jour, même si j'ai une méthode saveOrUpdate (List) pour la mise à jour groupée. Dans les deux méthodes saveOrUpdate, DefaultManager marque l'heure de création ou l'heure de mise à jour pour chaque entité. C'est pourquoi j'ai besoin de connaître le statut de chaque entité. –
Matt