无法在Spring Boot Data Cassandra应用程序中运行应用程序,因为在character'ı';

无法在Spring Boot Data Cassandra应用程序中运行应用程序,因为在character'ı';,spring,cassandra,syntax-error,cql,spring-data-cassandra,Spring,Cassandra,Syntax Error,Cql,Spring Data Cassandra,我已经开始开发一个spring boot数据cassandra应用程序。我正在使用Cassandra在SpringConfigurationClass中进行配置。当我启动应用程序时,它抛出SyntaxError和CassandraQuerySyntaxException。启动时,为作为帐户实体的表创建cql。它有一个时间戳字段,即“private Date createdAt” 通常,timestamp有一个“i”字符,但cql有“ı”,所以它尝试运行一个cql有“tımestamp”字符 如何

我已经开始开发一个spring boot数据cassandra应用程序。我正在使用Cassandra在SpringConfigurationClass中进行配置。当我启动应用程序时,它抛出SyntaxError和CassandraQuerySyntaxException。启动时,为作为帐户实体的表创建cql。它有一个时间戳字段,即“private Date createdAt”

通常,timestamp有一个“i”字符,但cql有“ı”,所以它尝试运行一个cql有“tımestamp”字符

如何解决此问题并继续

我的配置类:

@Configuration
@EnableCassandraRepositories
public class CassandraConfiguration extends AbstractCassandraConfiguration {

@Value("${accountservice.cassandra.keyspace.name}")
private String keyspaceName;

@Value("${accountservice.cassandra.port}")
private int port;

@Value("${accountservice.cassandra.contact.point}")
private String contactPoint;

@Value("${accountservice.cassandra.uname}")
private String uname;

@Value("${accountservice.cassandra.passwd}")
private String passwd;

@Override
protected String getKeyspaceName() {
    return keyspaceName;
}

public String getPasswd() {
    return passwd;
}

public String getUname() {
    return uname;
}

@Override
protected String getContactPoints() {
    return contactPoint;
}

@Override
protected int getPort() {
    return port;
}

@Override
public String[] getEntityBasePackages() {
    return new String[] {"com.trius.accountservice"};
}

@Override
public SchemaAction getSchemaAction() {
    return SchemaAction.CREATE_IF_NOT_EXISTS;
}

@Override
public CqlSessionFactoryBean cassandraSession() {
    CqlSessionFactoryBean cqlSessionFactoryBean = super.cassandraSession();
    cqlSessionFactoryBean.setPassword(getPasswd());
    cqlSessionFactoryBean.setUsername(getUname());
    return cqlSessionFactoryBean;
}
}


My Table:
    

看起来CQL语句中无意中包含了扩展字符或特殊字符


如果已从Word文档等文件复制并粘贴了Windows计算机上的架构定义,请确保先将其清理干净。例如,您可以将模式粘贴到记事本中,并将其保存为文本文件,然后将该文件用作源文件。干杯

@ErikRamirez我也有同样的问题。如何修复它?@TonyBrand您需要确保架构定义中没有特殊字符。干杯
@Configuration
@EnableCassandraRepositories
public class CassandraConfiguration extends AbstractCassandraConfiguration {

@Value("${accountservice.cassandra.keyspace.name}")
private String keyspaceName;

@Value("${accountservice.cassandra.port}")
private int port;

@Value("${accountservice.cassandra.contact.point}")
private String contactPoint;

@Value("${accountservice.cassandra.uname}")
private String uname;

@Value("${accountservice.cassandra.passwd}")
private String passwd;

@Override
protected String getKeyspaceName() {
    return keyspaceName;
}

public String getPasswd() {
    return passwd;
}

public String getUname() {
    return uname;
}

@Override
protected String getContactPoints() {
    return contactPoint;
}

@Override
protected int getPort() {
    return port;
}

@Override
public String[] getEntityBasePackages() {
    return new String[] {"com.trius.accountservice"};
}

@Override
public SchemaAction getSchemaAction() {
    return SchemaAction.CREATE_IF_NOT_EXISTS;
}

@Override
public CqlSessionFactoryBean cassandraSession() {
    CqlSessionFactoryBean cqlSessionFactoryBean = super.cassandraSession();
    cqlSessionFactoryBean.setPassword(getPasswd());
    cqlSessionFactoryBean.setUsername(getUname());
    return cqlSessionFactoryBean;
}
}


My Table:
    
        @Data
        @Builder
        @AllArgsConstructor
        @NoArgsConstructor
        @EqualsAndHashCode(of = {"id"})
        @ToString
        @Table(value = "accounts")
        public class Account implements Serializable {
    @PrimaryKey
    private String id = UUID.randomUUID().toString();

    @Column(value="uname")
    private String username;
    @Column(value="email")
    private String email;
    @Column(value="passwd")
    private String passwd;
    @Column(value="is_active")
    private Boolean active;
    @Column(value="created_at")
    private Date createdAt;
     }