Ignite:select query返回null

时间:2018-05-02 09:08:34

标签: spring spring-data-jpa 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;
 }

}

请建议..

1 个答案:

答案 0 :(得分:1)

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