2015-11-16 1 views
0

J'ai cette table Cassandra:ne peut pas insérer timeuuid dans Cassandra avec Kundera

CREATE TABLE xxx (id timeuuid PRIMARY KEY); 

et cette classe:

@Entity 
@Table(name = "xxx", schema = "yyy") 
    public class XXX { 

    @Id 
    @GeneratedValue 
    public UUID id; 
} 

Une fois persistant, je reçois:

Exception dans le thread " main "com.impetus.kundera.KunderaException: java.lang.IllegalArgumentException: GenerationType.AUTO Stratégie non supportée par ce client: com.impetus.client.cassandra.pe lops.PelopsClient à com.impetus.kundera.persistence.EntityManagerImpl.persist (EntityManagerImpl.java:174) à Importer.save (StayImporter.java:80) à Importer.exec (StayImporter.java:92) à l'importateur .main (StayImporter.java:100) à sun.reflect.NativeMethodAccessorImpl.invoke0 (Méthode natif) à sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) à sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl. java: 43) à java.lang.reflect.Method.invoke (Method.java:497) à com.intellij.rt.execution.application.AppMain.main (AppMain.java:144) Causé par: java. lang.IllegalArgumentException: GenerationType.AUTO Stratégie non prise en charge Par ce client: com.impetus.client.cassandra.pelops.PelopsClient à com.impetus.kundera.persistence.IdGenerator.onAutoGenerator (IdGenerator.java:116) à com.impetus.kundera.persistence.IdGenerator.generateAndSetId (IdGenerator .java: 71) à com.impetus.kundera.graph.ObjectGraphBuilder.getNode (ObjectGraphBuilder.java:111) à com.impetus.kundera.graph.ObjectGraphBuilder.getObjectGraph (ObjectGraphBuilder.java:75) à com.impetus .kundera.persistence.PersistenceDelegator.persist (PersistenceDelegator.java:135) à com.impetus.kundera.persistence.EntityManagerImpl.persist (EntityManagerImpl.java:168) ... 8 plus

Ceci est mon pom.xml:

Répondre

0

À partir du journal:

GenerationType.AUTO stratégie non prise en charge par cette com.impetus.client.cassandra.pelops.PelopsClient client

Je vous suggère d'utiliser le client Thrift. Vous pouvez le faire en changeant kundera.client.lookup.class propriété persistence.xml à ce qui suit:

<property name="kundera.client.lookup.class" value="com.impetus.client.cassandra.thrift.ThriftClientFactory" /> 

Aussi, je vous suggère d'utiliser latest version of Kundera-Cassandra.

+1

Cela fonctionne, merci beaucoup! J'ai également commenté les lignes sur ehcache dans persistence.xml: -> –

+0

Heureux d'aider :) –