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逆变器死区补偿算法仿真研究
背景介绍: 三相脉宽调制(pulse width modulation,PWM)电压源逆变器(voltage source inverter,VSI)的死区效应可导致电机相电压和相电流畸变、零电流钳位效应以及转矩和转速脉动,系统性能降低。为提高系统运行性能,对V…...

【网页设计】CSS 定位
目标 能够说出为什么要用定位能够说出定位的4种分类能够说出4种定位各自的特点能够说出为什么常用子绝父相布局能够写出淘宝轮播图布局能够说出显示隐藏的2种方式以及区别 1. 定位 1.1 为什么需要定位 提问: 以下情况使用标准流或者浮动能实现吗?1. …...
scala的属性访问权限
scala的属性访问权限有四种: 默认访问权限;protected访问权限;private访问权限;private[this]访问权限 package Test1104 //访问控制权限// 类的内部方法 伴生对象中的方法 类的外部(对象,访问)…...

QGIS:HCMGIS插件
插件GitHub地址:https://github.com/thangqd/HCMGIS。 以下对HCMGIS插件进行简单介绍,并演示如何进行地图数据下载。 插件简介 HCMGIS - Basemaps, Download OpenData, Batch Converter, VN-2000 Projections, and Field Calculation Utilities for QGI…...
Melty 主体流程图
┌───────────┐ │ 用户输入 │ └─────┬─────┘ │(自然语言或指令) │ ▼ ┌───────────┐ │ 自然语言处理 │ │ (NLU 模块)│ └─────┬─────┘ │ │ 解析用户意图 │ ▼ ┌─…...

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

正则截取字符窜数字,字母,符号部分
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生成跨语言翻译的精确提示 在跨语言交流中,为了确保翻译的准确性,生成精确的提示(Prompt)来指导ChatGPT翻译内容是至关重要的。无论是要处理复杂的技术术语、俚语,还是保持特定的语言风格,使用有…...

Vue3父传子
1. App.vue - 父组件 咱们先来看左边的 App.vue,它扮演的是“父亲”角色——你可以想象它是一位热心的老爸,手里拿着一条消息,正准备把这条消息送到“儿子”那里。 <script setup> // 这个 setup 就像一个神奇的开关,一开…...
使用VBA宏合并多个Excel文件的Sheet页
使用VBA宏合并多个Excel文件的Sheet页 在日常的Excel数据处理工作中,我们经常需要将多个Excel文件中的工作表合并到一个Excel文件中。这种操作可以极大地提高数据处理效率,但如果文件数量较多,手动合并会非常繁琐。本文将介绍如何使用VBA宏来…...
Anolis8防火墙安全设置
一、账号安全 1、禁止root远程登录 首先创建一个普通用户,然后修改系统配置禁止root登录,因为root作为系统默认的超级管理员,权限过大,日常操作使用易导致安全风险。 1.1、首先要建立一个新的登录用户 useradd username #增…...
标题:自动化运维:现代IT运维的革新力量
标题:自动化运维:现代IT运维的革新力量 随着信息技术的飞速发展,企业对于IT系统的依赖日益加深,运维工作的重要性也愈发凸显。传统的运维模式,往往依赖于人工操作,效率低下且容易出错,难以满足…...

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

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

【Linux系统编程】第四十二弹---多线程编程全攻略:涵盖线程创建、异常处理、用途、进程对比及线程控制
✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、线程创建 2、线程异常 3、线程用途 4、进程 VS 线程 5、线程控制 5.1、创建和等待线程 1、线程创建 线程能看到进程的大…...

Rust 力扣 - 2379. 得到 K 个黑块的最少涂色次数
文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 本题可以转换为求长度为k的子数组中白色块的最少数量 我们遍历长度为k的窗口,我们只需要记录窗口内的白色块的数量即可,遍历过程中刷新白色块的数量的最小值 题解代码 impl Solution {…...
“单元测试”应该怎么写比较好
如何正确写单元测试 单元测试重要性写单元测试时存在的问题1、如何命名测试类&方法1.1、测试类命名规范1.2、测试方法命名规范 2、测试类的要求2.1测试行覆盖率100%2.2、单一职责2.3、可重复2.4、外部隔离,无任何外部依赖2.5、正确的使用断言2.6、不应该为了测试…...

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

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

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
五年级数学知识边界总结思考-下册
目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解:由来、作用与意义**一、知识点核心内容****二、知识点的由来:从生活实践到数学抽象****三、知识的作用:解决实际问题的工具****四、学习的意义:培养核心素养…...

高危文件识别的常用算法:原理、应用与企业场景
高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...

uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...
在 Spring Boot 项目里,MYSQL中json类型字段使用
前言: 因为程序特殊需求导致,需要mysql数据库存储json类型数据,因此记录一下使用流程 1.java实体中新增字段 private List<User> users 2.增加mybatis-plus注解 TableField(typeHandler FastjsonTypeHandler.class) private Lis…...

tauri项目,如何在rust端读取电脑环境变量
如果想在前端通过调用来获取环境变量的值,可以通过标准的依赖: std::env::var(name).ok() 想在前端通过调用来获取,可以写一个command函数: #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...
前端高频面试题2:浏览器/计算机网络
本专栏相关链接 前端高频面试题1:HTML/CSS 前端高频面试题2:浏览器/计算机网络 前端高频面试题3:JavaScript 1.什么是强缓存、协商缓存? 强缓存: 当浏览器请求资源时,首先检查本地缓存是否命中。如果命…...