2016-05-26 10 views
0

Я пытаюсь записать записи регистрации в таблицу во время работы. К сожалению, несмотря на то, что существует таблица (подтвержденное запрашивая таблицу с помощью клиента JDBC), Кундера не считает, что существует, метание:Kundera Unconfigured ColumnFamily несмотря на ColumnFamily существующий

com.impetus.kundera.configure.schema.SchemaGenerationException: 
InvalidRequestException(why:unconfigured columnfamily ingestionBatchSummary) 

Это мой persistence.xml:

<persistence-unit name="cassandra_pu"> 
    <provider>com.impetus.kundera.KunderaPersistence</provider> 
    <properties> 
     <property name="kundera.client.lookup.class" 
      value="com.impetus.kundera.client.cassandra.dsdriver.DSClientFactory" /> 
     <property name="kundera.ddl.auto.prepare" value="validate" /> 
    </properties> 
</persistence-unit> 

Наряду со свойствами файл я загружаю с момента, когда я создаю EntityManager (загружается с ApplicationConfiguration.getProperties()):

kundera.nodes=127.0.0.1 
kundera.port=9042 
kundera.keyspace=migration 
kundera.username=notsecret 
kundera.password=supersecret 

И моя сущность:

@Entity 
@Table(name="ingestionBatchSummary") 
public class BatchSummary { 
    @Id 
    @Column(name="batchUuid") 
    private UUID batchUUID; //UUID of Batch 

    @Column(name="stuff") 
    private String stuff; //log contents 

    //Getters, setters 
} 

И волшебная линия, которая бросает свою ошибку:

EntityManagerFactory emfactory = Persistence.createEntityManagerFactory("cassandra_pu", 
        ApplicationConfiguration.getProperties()); 

Я подтвердил, что пространство ключей и таблица существует, запрашивая их, я подтвердил, что свойства соответствуют серверу, я подтвердил, что свойства правильно загружены (в журналах отображается успешное соединение и пространство ключей). Есть ли другая причина, по которой Кундера может не признать существование этой таблицы?

ответ

1

Выяснил мою проблему: таблица была создана с CREATE TABLE IngestionBatchSummary вместо CREATE TABLE "IngestionBatchSummary". В результате таблица существовала со всем строчным именем. Мне не хватало этого факта, потому что мои запросы JDBC также не включали кавычки, тогда как явно делали запросы Кундеры.