"entité détachée transmise à l'erreur persistante" avec le code JPA / EJB

zengr:

J'essaie d'exécuter ce code JPA / EJB de base:

public static void main(String[] args){
         UserBean user = new UserBean();
         user.setId(1);
         user.setUserName("name1");
         user.setPassword("passwd1");
         em.persist(user);
  }

J'obtiens cette erreur:

javax.ejb.EJBException: javax.persistence.PersistenceException: org.hibernate.PersistentObjectException: detached entity passed to persist: com.JPA.Database

Des idées?

Je recherche sur Internet et la raison pour laquelle j'ai trouvé était:

Cela était dû à la façon dont vous avez créé les objets, c'est-à-dire si vous définissez explicitement la propriété ID. La suppression de l'attribution d'identité l'a corrigé.

Mais je ne l'ai pas compris, que vais-je devoir modifier pour que le code fonctionne?

zawhtut:

ERD

Disons que vous avez deux entités Albumet Photo. L'album contient de nombreuses photos, c'est donc une relation un à plusieurs.

Classe d'album

@Entity
public class Album {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    Integer albumId;

    String albumName;

    @OneToMany(targetEntity=Photo.class,mappedBy="album",cascade={CascadeType.ALL},orphanRemoval=true)
    Set<Photo> photos = new HashSet<Photo>();
}

Cours de photo

@Entity
public class Photo{
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    Integer photo_id;

    String photoName;

    @ManyToOne(targetEntity=Album.class)
    @JoinColumn(name="album_id")
    Album album;

}

Ce que vous devez faire avant de persister ou de fusionner est de définir la référence de l'album dans chaque photo.

        Album myAlbum = new Album();
        Photo photo1 = new Photo();
        Photo photo2 = new Photo();

        photo1.setAlbum(myAlbum);
        photo2.setAlbum(myAlbum);       

Voilà comment attacher l'entité associée avant de conserver ou de fusionner.

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Impossible de créer un EJB sans état avec JPA

Entité EJB3 / JPA avec un attribut agrégé

Quel est le lien entre EJB et JPA?

Supprimer le bean EJB avec état dans le client

Paramétrer le planificateur EJB avec une expression de planification

Dois-je utiliser Bean Validation avec EJB 3.1, JSF2.0 et JPA?

Partager le même fichier JPA persistence.xml sur plusieurs fichiers JAR EJB dans EAR

Le module EJB ne peut pas atteindre les entités JPA

Assistance avec le code angularjs

EJB3 / JPA @Transactional

Limites de transaction EJB / JPA

Relation JPA / EJB3

Erreurs avec SDL avec le code correct

Stateless Factory avec EJB

Repos avec ejb

Comment le bean session avec état EJB 3.X maintient-il l'état?

IBM Websphere Liberty prend-il en charge le bundle OSGI avec EJB?

L'utilisation des référentiels Spring Data JPA dans le minuteur EJB entraîne une exception TransactionRequiredException

Changer le type d'entité avec Eclipselink / JPA?

Utiliser le type Point avec PostgreSQL et JPA / Hibernate

JPA CriteriaBuilder : ListJoin avec requête IN sur le cloumn joint

JPA / Hibernate avec modèle d'objet dynamique

Association en lecture seule avec le mappage JPA OneToMany

chercher des db ligne par ligne avec le ressort jpa

Comment distinguer le comptage avec Spring JPA Repository

Comment conserver une carte <Key, Boolean> avec le JPA

QueryDSL JPA - Jointure automatique sans relation avec le groupe par

Trouver le voisin le plus proche avec le code morton

Hibernate JPA simplifie le code pour update (), delete (), add ()

TOP liste

  1. 1

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  2. 2

    Enregistrer le chemin de l'image de la galerie vers la base de données de la salle et l'afficher dans la liste des recycleurs

  3. 3

    Microsoft.WebApplication.targets

  4. 4

    knn classification 10 plis de l'outil et du tri

  5. 5

    Quelle est la relation entre le modèle et le tableau ? C'est compliqué

  6. 6

    Créer un système Buzzer à l'aide de python

  7. 7

    Fonction de puissance en Java

  8. 8

    opérations en virgule flottante dans go

  9. 9

    Comment définir la couleur de l'intersection dans un diagramme de Venn?

  10. 10

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  11. 11

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  12. 12

    AutoMapper.Collection.EFCore - Erreur générée lors de la configuration

  13. 13

    Je continue à obtenir l'objet 'WSGIRequest' n'a pas d'attribut 'Get' sur django

  14. 14

    Comment remplir les valeurs manquantes avec plusieurs colonnes dans R

  15. 15

    Comment puis-je ajouter un UIView sous mon contrôleur de barre d'onglets par programme?

  16. 16

    Yat-il un référentiel maven application Java à démarrer rapidement 11

  17. 17

    Comment rechercher des éléments dans une ArrayList? - Java

  18. 18

    Comment utiliser HttpClient avec TOUT cert ssl, quelle que soit la « mauvaise » est

  19. 19

    Comment créer un bot à compte à rebours dans Discord en utilisant Python

  20. 20

    Sélectionnez le bouton radio sur la saisie de texte

  21. 21

    Placez le modeBar en haut au centre à l'aide de plotly.js

chaudétiquette

Archive