Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在基于java sql的遗留项目中集成apache ignite将成为一个问题_Sql_Join_Persistence_Ignite - Fatal编程技术网

在基于java sql的遗留项目中集成apache ignite将成为一个问题

在基于java sql的遗留项目中集成apache ignite将成为一个问题,sql,join,persistence,ignite,Sql,Join,Persistence,Ignite,我有一个遗留java项目,其中有1000多个表和大量SQL查询 为了获得更好的查询性能,我正在研究ApacheIgnite内存数据库,我不想使用第三方持久化机制,后者基于缓存(CacheStore),我在POC中成功实现了缓存(CacheStore),不幸的是,我有很多复杂的查询和大量的连接,在这种情况下,我必须使用缓存存储名称更新查询,如示例所示 private static void select(IgniteCache<Long, Person> personCache

我有一个遗留java项目,其中有1000多个表和大量SQL查询

为了获得更好的查询性能,我正在研究ApacheIgnite内存数据库,我不想使用第三方持久化机制,后者基于缓存(CacheStore),我在POC中成功实现了缓存(CacheStore),不幸的是,我有很多复杂的查询和大量的连接,在这种情况下,我必须使用缓存存储名称更新查询,如示例所示

    private static void select(IgniteCache<Long, Person> personCache, String msg) {
        String sql =
            "select p.id, concat(p.firstName, ' ', p.lastName), o.name, p.resume, p.salary " +
            "from Person as p, \"" + ORG_CACHE + "\".Organization as o " +
            "where p.orgId = o.id";

        List<List<?>> res = personCache.query(new SqlFieldsQuery(sql).setDistributedJoins(true)).getAll();

        print(msg);

        for (Object next : res)
            System.out.println(">>>     " + next);
    }
private static void select(IgniteCache personCache,字符串msg){
字符串sql=
选择p.id、concat(p.firstName、、p.lastName)、o.name、p.resume、p.salary+
“从作为p的人员开始,\”“+ORG\u缓存+”\”。组织作为o”+
“其中p.orgId=o.id”;

List在创建缓存时,可以将其
sqlSchema
设置为
“PUBLIC”
。如果对所有缓存都这样做,则永远不需要显式指定它们的架构(如果这就是您的问题所在).

所以ORG\u CACHE是架构名称??是的。默认情况下,它与缓存名称相同。我试图单独找出如何设置架构公共,但我找不到如何使用web控制台请提供;或者详细说明如何通过代码(
cacheConfiguration.setSqlSchema()
)创建缓存。创建缓存后,无法更改缓存架构。