2017-05-17 5 views
0

mit Ich bin die Mapping Ausnahme in Hibernate bekommen, während mit @ElementCollectionMapping Ausnahme in Hibernate während @ElementCollection

Der Fehler geht weg, wenn ich @ElementCollection nicht verwenden, ich habe hier durch fast alle Fragen gegangen zu diesem Thema aber keiner von ihnen mein lösen Problem

Unterhalb der Klasse Entity ist

@Entity 
public class UserDetails { 

    @Id 
    @GeneratedValue(strategy=GenerationType.AUTO) 
    @Column(name="ID") 
    int id; 

    @Column(name="NAME") 
    String name; 

    @Column(name="ADDRESS") 
    String address; 

    @ElementCollection(targetClass=String.class) 
    @CollectionTable(name="HOBBIES",[email protected](name="ID")) 
    @Column(name="HOBBIES") 
    List<String> hobbies; 

    @Column(name="INTEREST") 
    String interest; 

Im Folgenden finden sie die entsprechende Protokollmeldung

Caused by: org.hibernate.MappingException: Could not determine type for: java.util.List, for columns: [org.hibernate.mapping.Column(HOBBIES)] 
    at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:266) 
    at org.hibernate.mapping.SimpleValue.isValid(SimpleValue.java:253) 
    at org.hibernate.mapping.Property.isValid(Property.java:185) 
    at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:410) 
    at org.hibernate.mapping.RootClass.validate(RootClass.java:192) 
    at org.hibernate.cfg.Configuration.validate(Configuration.java:1099) 
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1284) 
    at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859) 
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:860) 
    at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:779) 
    at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417) 
    ... 82 more 

Da ich nicht die JPA-Version aus der Bibliothek lokalisieren konnte ich meine pom.xml teilen bin.

Im Folgenden finden Sie meine aktuellen pom.xml für hibernate

 <!-- Hibernate resources --> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-entitymanager</artifactId> 
      <version>5.1.0.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-validator</artifactId> 
      <version>4.3.0.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-commons-annotations</artifactId> 
      <version>3.3.0.ga</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-annotations</artifactId> 
      <version>3.3.1.GA</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>3.3.2.GA</version> 
     </dependency> 


     <dependency> 
      <groupId>org.hibernate.javax.persistence</groupId> 
      <artifactId>hibernate-jpa-2.1-api</artifactId> 
      <version>1.0.0.Final</version> 
     </dependency> 

ich unten in meinem letzten hinzugefügt haben, versuchen

 <dependency> 
      <groupId>org.hibernate.javax.persistence</groupId> 
      <artifactId>hibernate-jpa-2.1-api</artifactId> 
      <version>1.0.0.Final</version> 
     </dependency> 

I hibernate-entitymanager Version 3.6.7.Final-5.1.0.Final geändert haben, beide arbeiten nicht.

+0

welche jpa/hibernate-version verwenden sie? und teilen Sie die Import-Bibliothek von ElementCollection –

+0

@KhalilM Ich habe die Frage aktualisiert –

+0

Ich lief Ihren Code auf meinem lokalen Computer und es funktioniert gut! Ich benutze 'Hibernate-Core: 5.0.11',' Hibernate-Entitymanager: 5.0.11' und 'Hibernate-JPA-2.1-API' v' 1.1.0 Final'. –

Antwort

0

stellte sich heraus, dass etwas nicht stimmt mit Hibernate Abhängigkeiten es war, als ich es mit Frühling 3. Nach einigen weiteren Erkenntnisse verwenden, kam ich mit unter Abhängigkeiten und alles wie erwartet funktioniert.

<dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>3.6.10.Final</version> 
    </dependency> 

    <dependency> 
     <groupId>org.hibernate.javax.persistence</groupId> 
     <artifactId>hibernate-jpa-2.1-api</artifactId> 
     <version>1.0.0.Final</version> 
    </dependency> 

    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-annotations</artifactId> 
     <version>3.5.6-Final</version> 
    </dependency> 

    <dependency> 
     <groupId>org.hibernate.common</groupId> 
     <artifactId>hibernate-commons-annotations</artifactId> 
     <version>4.0.5.Final</version> 
    </dependency> 

    <!-- For java.lang.ClassNotFoundException : javassist.util.proxy.MethodFilter --> 
    <dependency> 
     <groupId>javassist</groupId> 
     <artifactId>javassist</artifactId> 
     <version>3.12.1.GA</version> 
    </dependency>