我正在使用Kundera JPA for Cassandra。昆德拉的版本是:3.8Kundera Cassandra JPQL與複合鍵
這裏是我的實體定義: -
@Embeddable
public class PartitionKey implements Serializable
{
@Column(name = "ID")
private String Id;
@Column (name = "TYPE")
private String Type;
}
@Embeddable
public class CompoundKey implements Serializable
{
@Embedded
private PartitionKey partitionKey;
@Column(name = "LABEL")
private String label;
}
@Embeddable
public class Comment
{
@Column(name="comment")
private String comment;
}
@Entity
@Table(name = "MY_ENTITY", schema = "[email protected]_pu")
public class MyEntity
{
@EmbeddedId
private CompoundKey primaryKey;
@ElementCollection
@Column(name = "COMMENTS")
private List<Comments> comments;
}
下面是用於檢索的片段: -
Query q = entityManager.createQuery("Select e from MyEntity e where e.primaryKey.partitionKey.Id = :Id and e.primaryKey.partitionKey.Type = :Type");
q2.setParameter("Id", "ID1");
q2.setParameter("Type", "BOOK");
List<MyEntity> list=q2.getResultList();
我得到空指針異常爲上述: -
java.lang.NullPointerException: null
at com.impetus.client.cassandra.datahandler.CassandraDataHandlerBase.setElementC ollection(CassandraDataHandlerBase.java:1566) ~[kundera-cassandra- 3.9.1.jar:na]
at com.impetus.client.cassandra.datahandler.CassandraDataHandlerBase.populateVia Thrift(CassandraDataHandlerBase.java:1154) ~[kundera-cassandra- 3.9.1.jar:na]
at com.impetus.client.cassandra.datahandler.CassandraDataHandlerBase.onColumn(Ca ssandraDataHandlerBase.java:1054) ~[kundera-cassandra-3.9.1.jar:na]
at com.impetus.client.cassandra.datahandler.CassandraDataHandlerBase.populateEnt ity(CassandraDataHandlerBase.java:653) ~[kundera-cassandra-3.9.1.jar:na]
... 15 common frames omitted
這是我的表格創建腳本: -
create TABLE "MY_ENTITY"
(
"ID" TEXT,
"TYPE" TEXT,
"LABEL" TEXT,
"COMMENTS" list<frozen <"COMMENT">>,
PRIMARY KEY("ID","TYPE","LABEL")
);
的評論用戶定義類型的定義是: -
CREATE TYPE "COMMENT" (
comment text
);
如果我用一個簡單的實體,而不復合鍵查詢只是正常工作。我錯過了什麼?
更新:當我刪除評論屬性它工作正常。
可用,我們將盡快添加修復,讓你知道 –