Je semble avoir une idée concurrenteModificationException lorsque j'ai une collection de collection à l'intérieur d'un incorporant.
Si je voudrais cependant l'avoir comme ça, si je change de route de l'intégration de l'intégrité de l'intégrité que tout fonctionne bien. J'ai même essayé d'ajouter @version, mais cela ne semble pas fonctionner. P>
Voici un extrait de mes classes. Kart.JAVA:
@Embeddable
public class Coordinates {
@NotNull
private int x;
@NotNull
private int y;
@Parent
private Route route;
@Version
private int version;
3 Réponses :
Je ne peux pas vous donner des conseils spécifiques à l'hibernate - mais la concurrentModificationExceptions signifie souvent qu'une collection est modifiée à l'intérieur de son itérateur, telle que normalement, vous pouvez éviter cela en créant explicitement. Un itérateur et appelant sa méthode em> Supprimer () au lieu de la collection - mais s'il s'agit de code hibernate interne, vous n'aurez pas cette option. p> p>
L'utilisation de "@CollectionOPELS" et "@EMeddable" est déroutante. Je suppose que vous voulez que la route et les coordonnées soient des tables séparées? Si oui, ils ne devraient vraiment pas être @Meddable. @MedDable représente quelque chose qui peut être intégré à la table des parents. À titre d'exemple, utiliser des touches composites, vous utilisez généralement un @EMDEDDEDID comme votre PK, qui relie une classe qui est @Meddable. P>
Depuis que vous mentionnez que la commutation à l'entité semble résoudre le problème, je pense que vous devriez changer d'itinéraire et coordonner les entités séparées. Ensuite, vous aurez une configuration de modèle beaucoup plus standard qui devrait effacer votre problème. P>
Vérifiez cette entrée JIRA. p>
ConcurrentrentModificationException lorsque la collecte d'embormeable contient une collection P>
C'est un bug connu dans le classeur d'annotation. Et la question réside dans le noyau hibernate qui ne favorise pas les collections dans des collections intégrées. P>
+1. Incordiable au sein d'une collection ne peut avoir aucune collecte de ses propres éléments car il n'y a pas de clé primaire définie pour que les collections (sous) ne soient liées à. Vous devrez faire une itinéraire une entité, bien que vous puissiez toujours faire son cycle de vie à être contrôlé par Kart et, donc sémantiquement, cela ne sera pas différent de l'embourgeable en dehors de la couche DAO.
Pouvez-vous nous montrer la trace de la pile et le code associé (si non montré ici)