0

私はこのCassandraテーブルを持っています:

CREATE TABLE xxx ( id timeuuid PRIMARY KEY);

そしてこのクラス:

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

  @Id
  @GeneratedValue
  public UUID id;
}

永続化すると、次のようになります。

スレッド「メイン」での例外 com.impetus.kundera.KunderaException: java.lang.IllegalArgumentException: GenerationType.AUTO Strategy はこのクライアントでサポートされていません:com.impetus.kundera.persistence の com.impetus.client.cassandra.pelops.PelopsClient。 EntityManagerImpl.persist(EntityManagerImpl.java:174) で Importer.save(StayImporter.java:80) で Importer.exec(StayImporter.java:92) で Importer.main(StayImporter.java:100) で sun.reflect.NativeMethodAccessorImpl。 java.lang.reflect.Method.invoke(Method.java: 497) com.intellij.rt.execution.application.AppMain.main(AppMain.java:144) で 原因: java.lang.IllegalArgumentException: GenerationType.AUTO ストラテジーはこのクライアントでサポートされていません:com.impetus.kundera.persistence.IdGenerator.onAutoGenerator(IdGenerator.java:116) の com.impetus.kundera.persistence の com.impetus.client.cassandra.pelops.PelopsClient .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) at com.impetus.kundera.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:168) ... 8 もっと見る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 もっと見る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 もっと見る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 もっと見る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 もっと見る

これは私の pom.xml です:

<repositories>
    <repository>
        <id>sonatype-nexus</id>
        <name>Kundera Public Repository</name>
        <url>https://oss.sonatype.org/content/repositories/releases</url>
    </repository>
</repositories>
<dependency>
        <groupId>com.impetus.client</groupId>
        <artifactId>kundera-cassandra</artifactId>
        <version>2.9</version>
</dependency>
4

1 に答える 1

0

ログから:

GenerationType.AUTO 戦略はこのクライアントではサポートされていません com.impetus.client.cassandra.pelops.PelopsClient

Thrift クライアントを使用することをお勧めします。kundera.client.lookup.classこれを行うには、プロパティをpersistence.xml次のように変更します。

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

また、最新バージョンの Kundera-Cassandraを使用することをお勧めします。

于 2015-11-17T06:52:40.983 に答える