IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JPA Java Discussion :

Persistence de donnée JPA avec le pattern stratégy


Sujet :

JPA Java

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2020
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Persistence de donnée JPA avec le pattern stratégy
    Bonjour,
    j'essaye de comprendre et surtout d'appliquer la persistance de donnée sue le pattern strategy.
    Alors normalement, il faut une superclass abstract vehicule, puis vehicule et moto qui extends de voiture. Mais cela ne m'intéresse pas pour le moment.

    J'ai surtout besoin de faire la persistance de donnée des interfaces. Et je n'y arrive pas du tout, j'aurais besoin de votre aide, voici le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    import javax.persistence.Entity;
    import javax.persistence.GeneratedValue;
    import javax.persistence.Id;
    import javax.persistence.ManyToOne;
    import java.io.Serializable;
    @Entity
    public class Nobody implements Serializable {
        @Id
        @GeneratedValue
        private Long id;
        private String name;
        @ManyToOne
        private Displacement displacement = new walk();
        // how do you walk
        public void sayWalking() {
            displacement.move();
        }
        public Nobody() {
        }
     
        public Nobody(String name, Displacement displacement) {
            this.name = name;
            this.displacement = displacement;
        }
     
        public Long getId() {
            return id;
        }
     
        public void setId(Long id) {
            this.id = id;
        }
     
        public String getName() {
            return name;
        }
     
        public void setName(String name) {
            this.name = name;
        }
     
        public Displacement getDisplacement() {
            return displacement;
        }
     
        public void setDisplacement(Displacement displacement) {
            this.displacement = displacement;
        }
     
        @Override
        public String toString() {
            return "nobody{" +
                    "id=" + id +
                    ", name='" + name + '\'' +
                    ", displacement=" + displacement +
                    '}';
        }
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    import com.example.demo.model.Nobody;
    import org.springframework.data.jpa.repository.JpaRepository;
     
    public interface NobodyDAO extends JpaRepository<Nobody, Long> {
    }
     
    public interface Displacement {
        void move();
    }
    public class walk implements  Displacement {
        @Override
        public void move() {
            System.out.println("I walk with 2 members");
        }
    }
     
    public class NotWalk implements Displacement {
        @Override
        public void move() {
            System.out.println("I don't walk, but I use a wheelchair");
        }
    }
     
    @SpringBootApplication
    public class DemoApplication {
     
        public static void main(String[] args) {
            SpringApplication.run(DemoApplication.class, args);
            Nobody nobody = new Nobody();
            nobody.setName("test");
            nobody.sayWalking();
            nobody.setDisplacement(new NotWalk());
            nobody.sayWalking();
        }
    et j'ai cette erreur:
    Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
    2020-06-06 01:55:15.625 ERROR 276196 --- [ main] o.s.boot.SpringApplication : Application run failed

    org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'nobodyDAO' defined in com.example.demo.dao.NobodyDAO defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Cannot resolve reference to bean 'jpaMappingContext' while setting bean property 'mappingContext'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaMappingContext': Invocation of init method failed; nested exception is org.hibernate.AnnotationException: @OneToOne or @ManyToOne on com.example.demo.model.Nobody.displacement references an unknown entity: com.example.demo.model.Displacement
    Je n'arrive pas à comprendre comment faire la persistance de l'interface. faut t'il une dao ? Merci pour vos explications.

  2. #2
    Membre chevronné Avatar de jeffray03
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2008
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 501
    Points : 2 120
    Points
    2 120
    Par défaut
    Salut,
    tu as crée une interface qui n´est pas une Entity, alors que tu fais une relation
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     @ManyToOne
        private Displacement displacement = new walk();
    de ce fait il cherche une Entity Displacement qui n´existe pas.

    Eric

Discussions similaires

  1. Probème d'accès aux donnée JPA avec eclipse
    Par ouste4863 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 14/05/2019, 02h44
  2. Réponses: 2
    Dernier message: 07/03/2014, 15h49
  3. [Pont] Différence avec le pattern Stratégie ?
    Par rp37000 dans le forum Design Patterns
    Réponses: 11
    Dernier message: 04/11/2009, 22h12
  4. problème de séquence avec deux base de donnée JPA sous JBoss
    Par eclectik dans le forum Wildfly/JBoss
    Réponses: 2
    Dernier message: 14/09/2008, 18h55
  5. [OJB] Persistance de données avec OJB
    Par hicham246 dans le forum Persistance des données
    Réponses: 0
    Dernier message: 13/08/2008, 11h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo