gpt4 book ai didi

java - Cassandra 实体必须具有 @Table、@Persistent 或 @PrimaryKeyClass 注解

转载 作者:行者123 更新时间:2023-11-30 07:50:06 45 4
gpt4 key购买 nike

我正在开发 Spring Boot 应用程序并尝试与 Data Stax Cassandra 连接。下面是我写的。

package com.sampleProj.dto;

import java.io.Serializable;
import java.sql.Blob;
import java.sql.Timestamp;

import org.springframework.data.cassandra.mapping.Column;
import org.springframework.data.cassandra.mapping.PrimaryKey;
import org.springframework.data.cassandra.mapping.Table;

@Table
public class Inbound implements Serializable{

@PrimaryKey
private int transactionalId;

@Column
private Timestamp received;

@Column
private String source;

@Column
private String service;

@Column
private Blob message;

public Inbound(int transactionalId, Timestamp received, String source, String service, Blob message) {
super();
this.transactionalId = transactionalId;
this.received = received;
this.source = source;
this.service = service;
this.message = message;
}

public Inbound() {
// TODO Auto-generated constructor stub
}

public int getTransactionalId() {
return transactionalId;
}

public void setTransactionalId(int transactionalId) {
this.transactionalId = transactionalId;
}

public Timestamp getReceived() {
return received;
}

public void setReceived(Timestamp received) {
this.received = received;
}

public String getSource() {
return source;
}

public void setSource(String source) {
this.source = source;
}

public String getService() {
return service;
}

public void setService(String service) {
this.service = service;
}

public Blob getMessage() {
return message;
}

public void setMessage(Blob message) {
this.message = message;
}


}

DAO:

package com.sampleProj.dao;

import org.springframework.data.cassandra.repository.CassandraRepository;

import com.sampleProj.dto.Inbound;

public interface TripDAO extends CassandraRepository<Inbound>{

}

配置:

package com.sampleProj;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;

@SpringBootApplication
public class SampleProConfiguration {

public static void main(String[] args) {
ApplicationContext ctx = SpringApplication.run(SampleProConfiguration .class, args);
}

}

Cassandra 配置:

package com.sampleProj;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.cassandra.config.CassandraClusterFactoryBean;
import org.springframework.data.cassandra.config.java.AbstractCassandraConfiguration;
import org.springframework.data.cassandra.convert.MappingCassandraConverter;
import org.springframework.data.cassandra.core.CassandraOperations;
import org.springframework.data.cassandra.core.CassandraTemplate;
import org.springframework.data.cassandra.mapping.BasicCassandraMappingContext;
import org.springframework.data.cassandra.mapping.CassandraMappingContext;
import org.springframework.data.cassandra.repository.config.EnableCassandraRepositories;

@Configuration
@EnableCassandraRepositories
public class CassandraConfiguration extends AbstractCassandraConfiguration{

@Bean
@Override
public CassandraClusterFactoryBean cluster() {
CassandraClusterFactoryBean cluster = new CassandraClusterFactoryBean();
cluster.setContactPoints("localhost");
cluster.setPort(9042);
return cluster;
}

@Override
protected String getKeyspaceName() {
return "mykeyspace";
}

@Bean
@Override
public CassandraMappingContext cassandraMapping() throws ClassNotFoundException {
return new BasicCassandraMappingContext();
}

}

依赖关系:

<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-cassandra</artifactId>
</dependency>

但我收到异常,因为 Cassandra 实体必须具有 @Table、@Persistent 或 @PrimaryKeyClass Annotation。请帮助我解决问题。提前致谢。

最佳答案

在这个例子中情况并非如此,但对于 future 的读者来说......我在注释我的 pojo/table 类时收到了同样的错误:

@javax.persistence.Table

而不是:

@org.springframework.data.cassandra.mapping.Table

关于java - Cassandra 实体必须具有 @Table、@Persistent 或 @PrimaryKeyClass 注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33411059/

45 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com