当前位置: 首页 > news >正文

CqEngine添加联合索引和复合唯一索引

一.实体类

@Data
public class CategoryT {private Integer id;private String oneCategory;private String twoCategory;private String createTime;private String updateTime;public String uniKey() {return oneCategory + "/" + twoCategory;}
}

二.集合

@SuppressWarnings("unchecked")
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class CategoryDb {private static final IndexedCollection<CategoryT> CACHE;static {//堆内持久化CACHE = new TransactionalIndexedCollection<>(CategoryT.class);//添加索引CACHE.addIndex(UniqueIndex.onAttribute(Index.ID));CACHE.addIndex(HashIndex.onAttribute(Index.ONE_CATEGORY));CACHE.addIndex(HashIndex.onAttribute(Index.TWO_CATEGORY));//联合索引CACHE.addIndex(CompoundIndex.onAttributes(Index.ONE_CATEGORY, Index.TWO_CATEGORY));//复合唯一索引CACHE.addIndex(CompoundIndex.onAttributes(Index.ONE_CATEGORY, Index.TWO_CATEGORY));}private static final class Index {//创建属性的访问者对象private static final Attribute<CategoryT, Integer> ID = QueryFactory.attribute("ID", CategoryT::getId);private static final Attribute<CategoryT, String> ONE_CATEGORY = QueryFactory.attribute("ONE_CATEGORY", CategoryT::getOneCategory);private static final Attribute<CategoryT, String> TWO_CATEGORY = QueryFactory.attribute("TWO_CATEGORY", CategoryT::getTwoCategory);private static final Attribute<CategoryT, String> UNI_KEY = QueryFactory.attribute("UNI_KEY", CategoryT::uniKey);private static final Attribute<CategoryT, String> CREATE_TIME = QueryFactory.attribute("CREATE_TIME", CategoryT::getCreateTime);private static final Attribute<CategoryT, String> UPDATE_TIME = QueryFactory.attribute("UPDATE_TIME", CategoryT::getUpdateTime);}
}

相关文章:

CqEngine添加联合索引和复合唯一索引

一.实体类 Data public class CategoryT {private Integer id;private String oneCategory;private String twoCategory;private String createTime;private String updateTime;public String uniKey() {return oneCategory "/" twoCategory;} }二.集合 Suppress…...

基于matlab的SVPWM逆变器死区补偿算法仿真研究

背景介绍&#xff1a; 三相脉宽调制(pulse width modulation&#xff0c;PWM)电压源逆变器(voltage source inverter&#xff0c;VSI)的死区效应可导致电机相电压和相电流畸变、零电流钳位效应以及转矩和转速脉动&#xff0c;系统性能降低。为提高系统运行性能&#xff0c;对V…...

【网页设计】CSS 定位

目标 能够说出为什么要用定位能够说出定位的4种分类能够说出4种定位各自的特点能够说出为什么常用子绝父相布局能够写出淘宝轮播图布局能够说出显示隐藏的2种方式以及区别 1. 定位 1.1 为什么需要定位 提问&#xff1a; 以下情况使用标准流或者浮动能实现吗&#xff1f;1. …...

scala的属性访问权限

scala的属性访问权限有四种&#xff1a; 默认访问权限&#xff1b;protected访问权限&#xff1b;private访问权限&#xff1b;private[this]访问权限 package Test1104 //访问控制权限// 类的内部方法 伴生对象中的方法 类的外部(对象&#xff0c;访问)…...

QGIS:HCMGIS插件

插件GitHub地址&#xff1a;https://github.com/thangqd/HCMGIS。 以下对HCMGIS插件进行简单介绍&#xff0c;并演示如何进行地图数据下载。 插件简介 HCMGIS - Basemaps, Download OpenData, Batch Converter, VN-2000 Projections, and Field Calculation Utilities for QGI…...

Melty 主体流程图

┌───────────┐ │ 用户输入 │ └─────┬─────┘ │&#xff08;自然语言或指令&#xff09; │ ▼ ┌───────────┐ │ 自然语言处理 │ │ &#xff08;NLU 模块&#xff09;│ └─────┬─────┘ │ │ 解析用户意图 │ ▼ ┌─…...

【图像与点云融合教程(五)】海康相机 ROS2 多机分布式实时通信功能包

0. 前言 Github 仓库链接&#xff1a;Hikvision Camera ROS2 package 0.1 问题背景 上一篇[博客](【图像与点云融合教程&#xff08;四&#xff09;】海康相机 ROS2 功能包 - 古月居 (guyuehome.com))介绍了我开源的海康相机 ROS2 功能包&#xff0c;在本地机器上可以实时订…...

正则截取字符窜数字,字母,符号部分

Testvoid test20() {String str "BJRabG11325F9**0**";// 提取字母部分String letterPart str.replaceAll("[^a-zA-Z]", "");String noLetterPart str.replaceAll("[a-zA-Z]", "");System.out.println("字母部分&am…...

【ChatGPT】让ChatGPT生成跨语言翻译的精确提示

让ChatGPT生成跨语言翻译的精确提示 在跨语言交流中&#xff0c;为了确保翻译的准确性&#xff0c;生成精确的提示&#xff08;Prompt&#xff09;来指导ChatGPT翻译内容是至关重要的。无论是要处理复杂的技术术语、俚语&#xff0c;还是保持特定的语言风格&#xff0c;使用有…...

Vue3父传子

1. App.vue - 父组件 咱们先来看左边的 App.vue&#xff0c;它扮演的是“父亲”角色——你可以想象它是一位热心的老爸&#xff0c;手里拿着一条消息&#xff0c;正准备把这条消息送到“儿子”那里。 <script setup> // 这个 setup 就像一个神奇的开关&#xff0c;一开…...

使用VBA宏合并多个Excel文件的Sheet页

使用VBA宏合并多个Excel文件的Sheet页 在日常的Excel数据处理工作中&#xff0c;我们经常需要将多个Excel文件中的工作表合并到一个Excel文件中。这种操作可以极大地提高数据处理效率&#xff0c;但如果文件数量较多&#xff0c;手动合并会非常繁琐。本文将介绍如何使用VBA宏来…...

Anolis8防火墙安全设置

一、账号安全 1、禁止root远程登录 首先创建一个普通用户&#xff0c;然后修改系统配置禁止root登录&#xff0c;因为root作为系统默认的超级管理员&#xff0c;权限过大&#xff0c;日常操作使用易导致安全风险。 1.1、首先要建立一个新的登录用户 useradd username #增…...

标题:自动化运维:现代IT运维的革新力量

标题&#xff1a;自动化运维&#xff1a;现代IT运维的革新力量 随着信息技术的飞速发展&#xff0c;企业对于IT系统的依赖日益加深&#xff0c;运维工作的重要性也愈发凸显。传统的运维模式&#xff0c;往往依赖于人工操作&#xff0c;效率低下且容易出错&#xff0c;难以满足…...

无人机之姿态融合算法篇

无人机的姿态融合算法是无人机飞行控制中的核心技术之一&#xff0c;它通过将来自不同传感器的数据进行融合&#xff0c;以实现更加精确、可靠的姿态检测。 一、传感器选择与数据预处理 无人机姿态融合算法通常依赖于多种传感器&#xff0c;包括加速度计、陀螺仪、磁力计等。这…...

Redis系列---数据管理

目录标题 数据类型String优点缺点底层结构使用场景实际使用 List优点缺点底层结构使用场景实际使用 Hash优点缺点底层结构使用场景实际使用 Set优点缺点底层结构使用场景实际使用 Zset优点缺点底层结构使用场景实际使用 HyperLogLog优点缺点底层结构使用场景实际使用 GEO优点缺…...

【Linux系统编程】第四十二弹---多线程编程全攻略:涵盖线程创建、异常处理、用途、进程对比及线程控制

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、线程创建 2、线程异常 3、线程用途 4、进程 VS 线程 5、线程控制 5.1、创建和等待线程 1、线程创建 线程能看到进程的大…...

Rust 力扣 - 2379. 得到 K 个黑块的最少涂色次数

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 本题可以转换为求长度为k的子数组中白色块的最少数量 我们遍历长度为k的窗口&#xff0c;我们只需要记录窗口内的白色块的数量即可&#xff0c;遍历过程中刷新白色块的数量的最小值 题解代码 impl Solution {…...

“单元测试”应该怎么写比较好

如何正确写单元测试 单元测试重要性写单元测试时存在的问题1、如何命名测试类&方法1.1、测试类命名规范1.2、测试方法命名规范 2、测试类的要求2.1测试行覆盖率100%2.2、单一职责2.3、可重复2.4、外部隔离&#xff0c;无任何外部依赖2.5、正确的使用断言2.6、不应该为了测试…...

腾讯开源首个文图生3D大模型Hunyuan3D-1.0

&#x1f989; AI新闻 &#x1f680; 腾讯开源首个文图生3D大模型Hunyuan3D-1.0 摘要&#xff1a;腾讯混元于11月5日开源了Hunyuan3D-1.0&#xff0c;这是首个同时支持文本生成和图像生成的3D开源大模型。该模型采用两阶段生成方法&#xff0c;可以在10秒内生成3D资产。第一阶…...

c语言简单编程练习10

1、typedef和#define的区别 在用作数据类型替换时的区别&#xff1a; #include <stdio.h> #include <unistd.h>typedef char * A; //typedef需要&#xff1b; #define B char *int main(int argc, char *argv[]) {A a,b;B c,d;printf("a_size%ld\n"…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

使用分级同态加密防御梯度泄漏

抽象 联邦学习 &#xff08;FL&#xff09; 支持跨分布式客户端进行协作模型训练&#xff0c;而无需共享原始数据&#xff0c;这使其成为在互联和自动驾驶汽车 &#xff08;CAV&#xff09; 等领域保护隐私的机器学习的一种很有前途的方法。然而&#xff0c;最近的研究表明&…...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

微信小程序 - 手机震动

一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注&#xff1a;文档 https://developers.weixin.qq…...

视频字幕质量评估的大规模细粒度基准

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用&#xff0c;因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型&#xff08;VLMs&#xff09;在字幕生成方面…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档&#xff09;&#xff0c;如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下&#xff0c;风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...

GruntJS-前端自动化任务运行器从入门到实战

Grunt 完全指南&#xff1a;从入门到实战 一、Grunt 是什么&#xff1f; Grunt是一个基于 Node.js 的前端自动化任务运行器&#xff0c;主要用于自动化执行项目开发中重复性高的任务&#xff0c;例如文件压缩、代码编译、语法检查、单元测试、文件合并等。通过配置简洁的任务…...