简体   繁体   English

Spring Data for Apache Cassandra中的Repository.findAll()将输出错误“参数类型不匹配”

[英]Repository.findAll() in Spring Data for Apache Cassandra will output error “argument type mismatch”

I created two tables in CQL to Cassandra. 我在CQL中为Cassandra创建了两个表。 I use org.springframework.data.cassandra.repository.CassandraRepository. 我使用org.springframework.data.cassandra.repository.CassandraRepository。

In one table (memobox), repository.findAll(); 在一个表中(memobox),repository.findAll(); can be successfully acquired, In the other table (departments), repository.findAll(); 可以成功获取,在另一个表(部门)中,repository.findAll(); can not be successfully obtained, and the following error is output. 无法成功获取,并输出以下错误。

Is there any good advice? 有什么好的建议吗?

■Project structure ■项目结构

SpringBoot + Spring Data for Apache Cassandra 适用于Apache Cassandra的SpringBoot + Spring数据

Version: 版:

  • Spring Boot :: (v1.3.5.RELEASE) Spring Boot ::(v1.3.5.RELEASE)
  • spring-data-cassandra-1.3.5.RELEASE spring-data-cassandra-1.3.5。发布
  • cassandra 2.1.16 卡桑德拉2.1.16

■Error log ■错误记录

java.lang.IllegalArgumentException: argument type mismatch
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:1.8.0_74]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) ~[na:1.8.0_74]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:1.8.0_74]
at java.lang.reflect.Constructor.newInstance(Constructor.java:423) ~[na:1.8.0_74]
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
at org.springframework.data.convert.ReflectionEntityInstantiator.createInstance(ReflectionEntityInstantiator.java:76) ~[spring-data-commons-1.11.4.RELEASE.jar:na]
at org.springframework.data.convert.ClassGeneratingEntityInstantiator.createInstance(ClassGeneratingEntityInstantiator.java:83) ~[spring-data-commons-1.11.4.RELEASE.jar:na]
at org.springframework.data.cassandra.convert.MappingCassandraConverter.readEntityFromRow(MappingCassandraConverter.java:133) ~[spring-data-cassandra-1.3.5.RELEASE.jar:na]
at org.springframework.data.cassandra.convert.MappingCassandraConverter.readRow(MappingCassandraConverter.java:115) ~[spring-data-cassandra-1.3.5.RELEASE.jar:na]
at org.springframework.data.cassandra.convert.MappingCassandraConverter.read(MappingCassandraConverter.java:200) ~[spring-data-cassandra-1.3.5.RELEASE.jar:na]
at org.springframework.data.cassandra.core.CassandraConverterRowCallback.doWith(CassandraConverterRowCallback.java:47) ~[spring-data-cassandra-1.3.5.RELEASE.jar:na]
at org.springframework.data.cassandra.core.CassandraTemplate.select(CassandraTemplate.java:565) ~[spring-data-cassandra-1.3.5.RELEASE.jar:na]
at org.springframework.data.cassandra.core.CassandraTemplate.select(CassandraTemplate.java:328) ~[spring-data-cassandra-1.3.5.RELEASE.jar:na]
at org.springframework.data.cassandra.core.CassandraTemplate.selectAll(CassandraTemplate.java:311) ~[spring-data-cassandra-1.3.5.RELEASE.jar:na]
at org.springframework.data.cassandra.repository.support.SimpleCassandraRepository.findAll(SimpleCassandraRepository.java:104) ~[spring-data-cassandra-1.3.5.RELEASE.jar:na]
at org.springframework.data.cassandra.repository.support.SimpleCassandraRepository.findAll(SimpleCassandraRepository.java:36) ~[spring-data-cassandra-1.3.5.RELEASE.jar:na]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_74]

■Successful table:describe memobox ■成功表:描述便签盒

cqlsh:keyspacea> describe memobox;
CREATE TABLE keyspacea.memobox (
id timeuuid PRIMARY KEY,
date timestamp,
memo text,
name text
) WITH bloom_filter_fp_chance = 0.01
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = ''
AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy'}
AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99.0PERCENTILE';
CREATE INDEX memobox_memo ON keyspacea.memobox (memo);
CREATE INDEX memobox_name ON keyspacea.memobox (name);

■Unsuccessful table:describe departments ■不成功的表:描述部门

cqlsh:keyspacea> describe departments;
CREATE TABLE keyspacea.departments (
department_id varint PRIMARY KEY,
department_name text
) WITH bloom_filter_fp_chance = 0.01
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = ''
AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy'}
AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99.0PERCENTILE';

■Source is below ■资料在下面

https://github.com/hidetarou2013/SpringBootDBSample https://github.com/hidetarou2013/SpringBootDBSample

branch is feature/cassandra 分支是feature / cassandra

■Entity:MemoBox ■实体:备忘录盒

package com.example.cassandra.entity;
import java.util.Date;
import java.util.UUID;
import org.springframework.cassandra.core.PrimaryKeyType;
import org.springframework.data.cassandra.mapping.Column;
import org.springframework.data.cassandra.mapping.PrimaryKeyColumn;
import org.springframework.data.cassandra.mapping.Table;
import com.datastax.driver.core.utils.UUIDs;

@Table(value = "memobox")
public class MemoBox {

@PrimaryKeyColumn(name = "id",ordinal = 1,type = PrimaryKeyType.PARTITIONED)
private UUID id = UUIDs.timeBased();

@Column(value = "name")
private String name;

@Column(value = "memo")
private String memo;

@Column(value = "date")
private Date date;

■Entity:Departments ■实体:部门

package com.example.cassandra.entity;

import java.util.ArrayList;
import java.util.List;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.OneToMany;
import org.springframework.cassandra.core.PrimaryKeyType;
import org.springframework.data.cassandra.mapping.Column;
import org.springframework.data.cassandra.mapping.PrimaryKeyColumn;
import org.springframework.data.cassandra.mapping.Table;
@Table(value="departments")
public class Departments {

@PrimaryKeyColumn(name = "department_id",ordinal = 1,type = PrimaryKeyType.PARTITIONED)
private int department_id;

@Column(value = "department_name")
private String department_name;

public Departments(int department_id,String department_name){
    this.department_id = department_id;
    this.department_name = department_name;
}

@OneToMany(fetch=FetchType.EAGER)
@JoinColumn(name="department_id",insertable=false,updatable=false)
private List<Employees> emp = new ArrayList<Employees>();

Your Department constructor is having the problem. 您的Department构造函数有问题。 Remove the Department constructor. 删除Department构造函数。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我如何更改 spring 启动中由 Repository.findAll() 制作的 json 数组的格式 - how I change the format of the json array that made by Repository.findAll() in spring boot 通用Spring数据JPA存储库findAll - Generic Spring Data JPA Repository findAll Spring数据mongodb存储库findAll字段排除 - Spring data mongodb repository findAll field exclusion Spring Data Neo4j-参数类型不匹配 - Spring Data Neo4j - Argument Type Mismatch Spring mongo 数据存储库 findAll() 返回空? - Spring mongo data repository findAll() return empty? Spring Data JPA Repository findAll() 空指针 - Spring Data JPA Repository findAll() Null Pointer Spring 数据 jpa - 错误 - 使用枚举类型参数 - Spring data jpa - error - with enum type argument 在Spring MVC中使用@RequestBody的泛型类型时出现“参数类型不匹配”错误 - “argument type mismatch” error when using a generic type for @RequestBody with Spring MVC Spring Data:抽象基础服务中的JPA存储库,用于调用带有规范的findAll - Spring Data: JPA Repository in abstract base service to call findAll with specification Spring Data Neo4J存储库findAll()导致nullpointerexception - Spring Data Neo4J repository findAll() results in a nullpointerexception
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM