问题描述
CREATE TYPE IF NOT exists udt_type (
min_value int,max_value int,complete_date timestamp
);
CREATE TABLE IF NOT exists test_table (
key text,udt_column frozen<udt_type>,PRIMARY KEY (key)
);
和 Java 类
import org.springframework.data.cassandra.core.mapping.UserDefinedType;
@UserDefinedType("udt_type")
public class UdtType {
@Column("min_value")
private Integer minValue;
@Column("max_value")
private Integer maxValue;
@Column("complete_date")
private Date completeDate;
}
import org.springframework.data.cassandra.core.mapping.Table;
@Table
public class TestTable {
@PrimaryKeyColumn(name = "key",type = PrimaryKeyType.PARTITIONED)
private String key;
@Column("udt_column")
private UdtType udtColumn;
}
使用返回 UdtType 的查询来实现 Spring Cassandra 存储库
@Repository
public interface TestTableRepository extends CassandraRepository<TestTable,String> {
@Query("SELECT udt_column FROM test_table WHERE key = :key")
UdtType getUdtType(@Param("key") Integer key);
}
但它返回 UdtType,所有字段都为 null。 发现它只对我有用
@Repository
public interface TestTableRepository extends CassandraRepository<TestTable,String> {
@Query("SELECT udt_column FROM test_table WHERE key = :key")
TestTable getUdtType(@Param("key") Integer key);
}
当返回类型是表类型时,但是这样很不方便。 有什么办法可以让这个查询返回 UDT 类型?
我正在使用
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-cassandra</artifactId>
<version>2.0.14.RELEASE</version>
</dependency>
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)