Spring data mongodb. Generierung von id ' s Fehler

Habe ich eine experiment... eine gemeinsame Einrichtung für zwei Spring-data repositories:
- JPA
- MongoDB

zuerst habe ich' mit folgenden Bibliotheken Versionen:

spring-data-jpa : 1.7.0.RELEASE
spring-data-mongodb : 1.6.0.RELEASE

Habe ich ein Unternehmen:

@Entity
@Table(name = "ACCOUNTS")
public class Account {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    @Column(name = "ACCOUNT_ID")
    private Long id;

    @Column(name = "ACCOUNT_NUMBER")
    private String number;

    public Account() {
    }

    public Account(String number) {
        this.number = number;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getNumber() {
        return number;
    }

    public void setNumber(String number) {
        this.number = number;
    }
}

JPA-Repository hat Folgendes Aussehen:

public interface Repository extends CrudRepository<Account, Long> {
    public Account findByNumber(String number);
}

MongoDB-repository hat Folgendes Aussehen:

Paket ua.home.springdata.Untersuchung.repository.mongo;

public interface Repository extends CrudRepository<Account, Long> {
}

So... PPV funktioniert 🙂 Nichts besonderes 🙂
Aber MongoDB-test nicht bestanden 🙁
Ich erhalte eine Fehlermeldung:

org.springframework.dao.InvalidDataAccessApiUsageException: Nicht autogenerate-id vom Typ java.lang.Lange für die Entität des Typs ua.home.springdata.Untersuchung.Entität.Konto! 
bei org.springframework.data.mongodb.core.MongoTemplate.assertUpdateableIdIfNotSet(MongoTemplate.java:1149) 
bei org.springframework.Daten.mongodb.core.MongoTemplate.doSave(MongoTemplate.java:878) 
bei org.springframework.Daten.mongodb.core.MongoTemplate.speichern(MongoTemplate.java:833) 
bei org.springframework.data.mongodb.repository.support.SimpleMongoRepository.save(SimpleMongoRepository.java:73) 
bei org.springframework.data.mongodb.repository.support.SimpleMongoRepository.save(SimpleMongoRepository.java:88) 
bei org.springframework.data.mongodb.repository.support.SimpleMongoRepository.save(SimpleMongoRepository.java:45) 
bei der sun.reflektieren.NativeMethodAccessorImpl.invoke0(Native-Methode) 
bei der sun.reflektieren.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
bei der sun.reflektieren.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
bei org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.executeMethodOn(RepositoryFactorySupport.java:442) 
bei org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:427) 
bei org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:381) 
bei org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) 
bei org.springframework.aop.Rahmen.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) 
bei com.Sonne.proxy.$Proxy26.speichern(Quelle Unbekannt) 

Ich denke, es ist ein sehr häufiger Fall. Warum nicht Spring data generieren zu können entity-id, wie Lange? Es ist so komisch.

  • Wenn ich das hinzufügen der annotation @GeneratedValue meine IDE-wirft einen Fehler und dann und dort. Ich habe verwendet, PPV - Abhängigkeit in meinem 'pom.xml' Datei, aber auch das ist nicht die Arbeit als das, was ich habe ist, dass es Recherchen für eine MySQL DB und ich bin mit NoSQL (mongoDB). Also wenn du mir helfen kannst mit etwas bitte nicht. Vielen Dank im Voraus.
  • Stockton, Wenn ich das hinzufügen der annotation @GeneratedValue meine IDE-wirft einen Fehler und dann und dort. Ich habe verwendet, PPV - Abhängigkeit in meinem 'pom.xml' Datei, aber auch das ist nicht die Arbeit als das, was ich habe ist, dass es Recherchen für eine MySQL DB und ich bin mit NoSQL (mongoDB). Also wenn du mir helfen kannst mit etwas bitte nicht. Vielen Dank im Voraus..
InformationsquelleAutor b3lowster | 2014-10-26
Schreibe einen Kommentar