<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="cassandra_pu">
<provider>com.impetus.kundera.KunderaPersistence</provider>
<class>User</class>
<properties>
<property name="kundera.nodes" value="localhost"/>
<property name="kundera.port" value="9042"/>
<property name="kundera.keyspace" value="KunderaExamples"/>
<property name="kundera.dialect" value="cassandra"/>
<property name="kundera.ddl.auto.prepare" value="update" />
<property name="kundera.client.lookup.class"
value="com.impetus.kundera.client.cassandra.dsdriver.DSClientFactory" />
<property name="kundera.cache.config.resource" value="/ehcache-test.xml"/>
</properties>
</persistence-unit>
</persistence>
09:27:52.783 [main] INFO c.i.k.p.EntityManagerFactoryImpl - Loading Core
09:27:52.792 [main] INFO c.impetus.kundera.loader.CoreLoader - Loading Kundera Core Metdata ...
09:27:52.793 [main] INFO c.i.k.p.EntityManagerFactoryImpl - Loading Persistence Unit MetaData For Persistence Unit(s) cassandra_pu.
09:27:52.799 [main] INFO c.i.k.c.PersistenceUnitConfiguration - Loading Metadata from persistence.xml ...
09:27:52.911 [main] INFO c.i.k.c.PersistenceUnitConfiguration - Finishing persistence unit metadata configuration ...
09:27:52.927 [main] DEBUG c.i.k.c.MetamodelConfiguration - Loading Entity Metadata...
09:27:53.048 [main] DEBUG c.i.k.v.rules.EntityAnnotationRule - Validating User
09:27:53.073 [main] DEBUG c.i.k.c.MetamodelConfiguration - Metadata not found in cache for User
09:27:53.087 [main] DEBUG c.i.kundera.metadata.MetadataBuilder - Processing @Entity >> class User
09:27:53.091 [main] DEBUG c.i.k.m.processor.TableProcessor - Processing @Entity(User) for Persistence Object.
09:27:53.142 [main] DEBUG c.i.k.m.processor.IndexProcessor - @Entity User will not be indexed for all columns
09:27:53.147 [main] INFO c.i.k.c.ClientMetadataBuilder - Loading client factory for persistence unit cassandra_pu
09:27:53.148 [main] INFO c.i.kundera.client.ClientResolver - Initializing client factory for: cassandra_pu
09:27:53.163 [main] INFO c.i.kundera.client.ClientResolver - Finishing factory initialization
09:27:53.163 [main] INFO c.i.k.configure.SchemaConfiguration - Configuring schema export for : cassandra_pu
09:27:53.216 [main] INFO c.i.c.c.c.CassandraPropertyReader - Returning placement strategy value org.apache.cassandra.locator.SimpleStrategy
09:27:53.321 [main] ERROR c.i.c.c.s.CassandraSchemaManager - Error occurred while creating tableusers, Caused by: {}.
org.apache.cassandra.thrift.InvalidRequestException: null
at org.apache.cassandra.thrift.Cassandra$execute_cql3_query_result$execute_cql3_query_resultStandardScheme.read(Cassandra.java:50297) ~[cassandra-thrift-2.1.3.jar:2.1.3]
at org.apache.cassandra.thrift.Cassandra$execute_cql3_query_result$execute_cql3_query_resultStandardScheme.read(Cassandra.java:50274) ~[cassandra-thrift-2.1.3.jar:2.1.3]
at org.apache.cassandra.thrift.Cassandra$execute_cql3_query_result.read(Cassandra.java:50189) ~[cassandra-thrift-2.1.3.jar:2.1.3]
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78) ~[libthrift-0.9.2.jar:0.9.2]
at org.apache.cassandra.thrift.Cassandra$Client.recv_execute_cql3_query(Cassandra.java:1734) ~[cassandra-thrift-2.1.3.jar:2.1.3]
at org.apache.cassandra.thrift.Cassandra$Client.execute_cql3_query(Cassandra.java:1719) ~[cassandra-thrift-2.1.3.jar:2.1.3]
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.createOrUpdateUsingCQL3(CassandraSchemaManager.java:814) [kundera-cassandra-3.1.jar:na]
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.createColumnFamilies(CassandraSchemaManager.java:430) [kundera-cassandra-3.1.jar:na]
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.createOrUpdateKeyspace(CassandraSchemaManager.java:279) [kundera-cassandra-3.1.jar:na]
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.update(CassandraSchemaManager.java:627) [kundera-cassandra-3.1.jar:na]
at com.impetus.kundera.configure.schema.api.AbstractSchemaManager.handleOperations(AbstractSchemaManager.java:267) [kundera-core-3.1.jar:na]
at com.impetus.kundera.configure.schema.api.AbstractSchemaManager.exportSchema(AbstractSchemaManager.java:115) [kundera-core-3.1.jar:na]
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.exportSchema(CassandraSchemaManager.java:166) [kundera-cassandra-3.1.jar:na]
at com.impetus.kundera.configure.SchemaConfiguration.configure(SchemaConfiguration.java:188) [kundera-core-3.1.jar:na]
at com.impetus.kundera.configure.ClientMetadataBuilder.buildClientFactoryMetadata(ClientMetadataBuilder.java:48) [kundera-core-3.1.jar:na]
at com.impetus.kundera.persistence.EntityManagerFactoryImpl.configureClientFactories(EntityManagerFactoryImpl.java:408) [kundera-core-3.1.jar:na]
at com.impetus.kundera.persistence.EntityManagerFactoryImpl.configure(EntityManagerFactoryImpl.java:161) [kundera-core-3.1.jar:na]
at com.impetus.kundera.persistence.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:135) [kundera-core-3.1.jar:na]
at com.impetus.kundera.KunderaPersistence.createEntityManagerFactory(KunderaPersistence.java:85) [kundera-core-3.1.jar:na]
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79) [javaee-api-7.0.jar:na]
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54) [javaee-api-7.0.jar:na]
at KunderaExample.main(KunderaExample.java:26) [test-classes/:na]
09:27:53.322 [main] ERROR c.i.c.c.s.CassandraSchemaManager - Error occurred while creating KunderaExamples, Caused by: .
com.impetus.kundera.configure.schema.SchemaGenerationException: Error occurred while creating table users
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.updateExistingColumnFamily(CassandraSchemaManager.java:573) [kundera-cassandra-3.1.jar:na]
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.createOrUpdateUsingCQL3(CassandraSchemaManager.java:820) [kundera-cassandra-3.1.jar:na]
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.createColumnFamilies(CassandraSchemaManager.java:430) [kundera-cassandra-3.1.jar:na]
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.createOrUpdateKeyspace(CassandraSchemaManager.java:279) [kundera-cassandra-3.1.jar:na]
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.update(CassandraSchemaManager.java:627) [kundera-cassandra-3.1.jar:na]
at com.impetus.kundera.configure.schema.api.AbstractSchemaManager.handleOperations(AbstractSchemaManager.java:267) [kundera-core-3.1.jar:na]
at com.impetus.kundera.configure.schema.api.AbstractSchemaManager.exportSchema(AbstractSchemaManager.java:115) [kundera-core-3.1.jar:na]
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.exportSchema(CassandraSchemaManager.java:166) [kundera-cassandra-3.1.jar:na]
at com.impetus.kundera.configure.SchemaConfiguration.configure(SchemaConfiguration.java:188) [kundera-core-3.1.jar:na]
at com.impetus.kundera.configure.ClientMetadataBuilder.buildClientFactoryMetadata(ClientMetadataBuilder.java:48) [kundera-core-3.1.jar:na]
at com.impetus.kundera.persistence.EntityManagerFactoryImpl.configureClientFactories(EntityManagerFactoryImpl.java:408) [kundera-core-3.1.jar:na]
at com.impetus.kundera.persistence.EntityManagerFactoryImpl.configure(EntityManagerFactoryImpl.java:161) [kundera-core-3.1.jar:na]
at com.impetus.kundera.persistence.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:135) [kundera-core-3.1.jar:na]
at com.impetus.kundera.KunderaPersistence.createEntityManagerFactory(KunderaPersistence.java:85) [kundera-core-3.1.jar:na]
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79) [javaee-api-7.0.jar:na]
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54) [javaee-api-7.0.jar:na]
at KunderaExample.main(KunderaExample.java:26) [test-classes/:na]
Caused by: org.apache.cassandra.thrift.InvalidRequestException: null
at org.apache.cassandra.thrift.Cassandra$execute_cql3_query_result$execute_cql3_query_resultStandardScheme.read(Cassandra.java:50297) ~[cassandra-thrift-2.1.3.jar:2.1.3]
at org.apache.cassandra.thrift.Cassandra$execute_cql3_query_result$execute_cql3_query_resultStandardScheme.read(Cassandra.java:50274) ~[cassandra-thrift-2.1.3.jar:2.1.3]
at org.apache.cassandra.thrift.Cassandra$execute_cql3_query_result.read(Cassandra.java:50189) ~[cassandra-thrift-2.1.3.jar:2.1.3]
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78) ~[libthrift-0.9.2.jar:0.9.2]
at org.apache.cassandra.thrift.Cassandra$Client.recv_execute_cql3_query(Cassandra.java:1734) ~[cassandra-thrift-2.1.3.jar:2.1.3]
at org.apache.cassandra.thrift.Cassandra$Client.execute_cql3_query(Cassandra.java:1719) ~[cassandra-thrift-2.1.3.jar:2.1.3]
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.createOrUpdateUsingCQL3(CassandraSchemaManager.java:814) [kundera-cassandra-3.1.jar:na]
... 15 common frames omitted
Exception in thread "main" com.impetus.kundera.configure.schema.SchemaGenerationException: com.impetus.kundera.configure.schema.SchemaGenerationException: Error occurred while creating table users
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.update(CassandraSchemaManager.java:632)
at com.impetus.kundera.configure.schema.api.AbstractSchemaManager.handleOperations(AbstractSchemaManager.java:267)
at com.impetus.kundera.configure.schema.api.AbstractSchemaManager.exportSchema(AbstractSchemaManager.java:115)
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.exportSchema(CassandraSchemaManager.java:166)
at com.impetus.kundera.configure.SchemaConfiguration.configure(SchemaConfiguration.java:188)
at com.impetus.kundera.configure.ClientMetadataBuilder.buildClientFactoryMetadata(ClientMetadataBuilder.java:48)
at com.impetus.kundera.persistence.EntityManagerFactoryImpl.configureClientFactories(EntityManagerFactoryImpl.java:408)
at com.impetus.kundera.persistence.EntityManagerFactoryImpl.configure(EntityManagerFactoryImpl.java:161)
at com.impetus.kundera.persistence.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:135)
at com.impetus.kundera.KunderaPersistence.createEntityManagerFactory(KunderaPersistence.java:85)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:79)
at javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:54)
at KunderaExample.main(KunderaExample.java:26)
Caused by: com.impetus.kundera.configure.schema.SchemaGenerationException: Error occurred while creating table users
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.updateExistingColumnFamily(CassandraSchemaManager.java:573)
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.createOrUpdateUsingCQL3(CassandraSchemaManager.java:820)
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.createColumnFamilies(CassandraSchemaManager.java:430)
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.createOrUpdateKeyspace(CassandraSchemaManager.java:279)
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.update(CassandraSchemaManager.java:627)
... 12 more
Caused by: InvalidRequestException(why:Cannot add already existing table "users" to keyspace "KunderaExamples")
at org.apache.cassandra.thrift.Cassandra$execute_cql3_query_result$execute_cql3_query_resultStandardScheme.read(Cassandra.java:50297)
at org.apache.cassandra.thrift.Cassandra$execute_cql3_query_result$execute_cql3_query_resultStandardScheme.read(Cassandra.java:50274)
at org.apache.cassandra.thrift.Cassandra$execute_cql3_query_result.read(Cassandra.java:50189)
at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
at org.apache.cassandra.thrift.Cassandra$Client.recv_execute_cql3_query(Cassandra.java:1734)
at org.apache.cassandra.thrift.Cassandra$Client.execute_cql3_query(Cassandra.java:1719)
at com.impetus.client.cassandra.schemamanager.CassandraSchemaManager.createOrUpdateUsingCQL3(CassandraSchemaManager.java:814)
... 15 more
kundera.ddl.auto.prepare
with validate it works.import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name = "users", schema = "KunderaExamples@cassandra_pu")
public class User
{
@Id
private String userId;
@Column(name="first_name")
private String firstName;
@Column(name="last_name")
private String lastName;
@Column(name="city")
private String city;
public User()
{
}
public String getUserId()
{
return userId;
}
public void setUserId(String userId)
{
this.userId = userId;
}
public String getFirstName()
{
return firstName;
}
public void setFirstName(String firstName)
{
this.firstName = firstName;
}
public String getLastName()
{
return lastName;
}
public void setLastName(String lastName)
{
this.lastName = lastName;
}
public String getCity()
{
return city;
}
public void setCity(String city)
{
this.city = city;
}
}
...
...