2012-03-27 6 views
1

Ich versuche, diesen Fehler loszuwerden:Einheit Verein in java

Exception Description: [class utilisateurs.modeles.Utilisateur] uses a non-entity [class java.util.Collection] as target entity in the relationship attribute [field adresses]. 
    at org.eclipse.persistence.exceptions.ValidationException.nonEntityTargetInRelationship(ValidationException.java:1343) 
......... 
org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:526) 
    at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:1320) 
    ... 36 more 

mit der folgenden Einheit:

utilisateurs.modeles; 

    import adresses.Adresse; 
    import java.io.Serializable; 
    import java.util.Collection; 
    import javax.persistence.CascadeType; 
    import javax.persistence.Entity; 
    import javax.persistence.GeneratedValue; 
    import javax.persistence.GenerationType; 
    import javax.persistence.Id; 
    import javax.persistence.ManyToOne; 

    @Entity(name="Utilisateur") 
    public class Utilisateur implements Serializable { 
     private static final long serialVersionUID = 1L; 
     @Id 
     @GeneratedValue(strategy = GenerationType.AUTO) 
     private int id; 

     public void setAdresses(Collection<Adresse> adresses) { 
      this.adresses = adresses; 
     } 

     private String firstname; 
     private String lastname; 
     private String login; 


     @ManyToOne(cascade=CascadeType.PERSIST) 
     private Collection<Adresse> adresses; 
      public Collection<Adresse> getAdresses() { 
      return adresses; 
     } 


     public Utilisateur() { 
     } 

     public Utilisateur(final String firstname, final String lastname, final String login) { 
      this.firstname = firstname; 
      this.lastname = lastname; 
      this.login = login; 
     } 

    //getters and setters here 

     @Override 
     public int hashCode() { 
      int hash = 0; 
      hash += (int) id; 
      return hash; 
     } 

     @Override 
     public boolean equals(Object object) { 
      // TODO: Warning - this method won't work in the case the id fields are not set 
      if (!(object instanceof Utilisateur)) { 
       return false; 
      } 
      Utilisateur other = (Utilisateur) object; 
      if (this.id != other.id) { 
       return false; 
      } 
      return true; 
     } 

      } 

Wenn Sie eine Idee haben, bitte.

Antwort

0

Adresse ist keine Entität, vielleicht haben Sie gerade die @Entity Annotation in dieser Klasse vergessen?

Die Annotation @ManyToOne definiert eine Beziehung zwischen Entitäten.

+0

danke für Ihre schnelle Antwort. Tatsächlich ist die Klasse Adresse als Entität deklariert und mit @Entity Annotation markiert. – user1296419