首页 > 解决方案 > 点燃:选择查询返回null

问题描述

我是 ignite 的新手,我正在尝试使用 ignite 存储库获取数据,但下面的查询返回“null”。

我的存储库

@Component
@RepositoryConfig(cacheName = "UserCache")
@Repository
public interface UserRepository extends IgniteRepository<UserEntity, Long> {

@Query("select a.* from UserEntity a where a.lastname=? ")
UserEntity selectUserlastName(String plastName);

我的缓存配置为

CacheConfiguration<Long, UserEntity> lUserCacheConfig = 
createCacheConfigurationStore("UserCache", UserCacheStore.class);

CacheJdbcPojoStoreFactory<Long, UserEntity> lUserJdbcStoreFactory = new 
CacheJdbcPojoStoreFactory<>();
UserJdbcPojoStoreFactory<? super Long, ? super UserEntity> 
lUserJdbcPojoStoreFactory = new UserJdbcPojoStoreFactory<>();
lUserJdbcStoreFactory.setDataSource(datasource);
lUserJdbcStoreFactory.setDialect(new OracleDialect());
lUserJdbcStoreFactory.setTypes(lUserJdbcPojoStoreFactory.
 configJdbcContactType());
lUserCacheConfig.setCacheStoreFactory(lUserJdbcStoreFactory);
// Configure Cache..
cfg.setCacheConfiguration(lUserCacheConfig);

我的 PojoStore 如下:

public class UserJdbcPojoStoreFactory<K, V> extends 
AnstractJdbcPojoStoreFactory<Long, UserEntity> {
  private static final long serialVersionUID = 1L;

  @Autowired
  DataSource datasource;

  @Override
  public CacheJdbcPojoStore<Long, UserEntity> create() {
  // TODO Auto-generated method stub
  setDataSource(datasource);
  return super.create();
  }

  @Override
  public JdbcType configJdbcContactType() {
    JdbcType jdbcContactType = new JdbcType();
    jdbcContactType.setCacheName("UserCache");
    jdbcContactType.setKeyType(Long.class);
    jdbcContactType.setValueType(UserEntity.class);
    jdbcContactType.setDatabaseTable("USER");
    jdbcContactType.setDatabaseSchema("ORGNITATION");
    jdbcContactType.setKeyFields(new JdbcTypeField(Types.INTEGER, "id", 
    Long.class, "id"));
    jdbcContactType.setValueFields(
      new JdbcTypeField(Types.VARCHAR, "NAME", String.class, "NAME"), //
      new JdbcTypeField(Types.VARCHAR, "LASTNAME", String.class, "lastname"), 
 //

     return jdbcContactType;
 }

}

请建议..

标签: springspring-data-jpaignite

解决方案


请检查从 ignite-spring-data 库导入的 @Query 注释并使用 SqlFieldsQuery 测试您的查询。


推荐阅读