情景还原
我在上一篇文章中说道需要在数据库中存一些 Json 字符串的数据,然后怎么检索这些数据成了下一个需要我解决的问题,还好这次需要检索的数据只是简单的整形数字列表。我很快想到只要写一个正则表达式就能根据指定的 ID 获取所有包含该 ID 的 Json 字符串,比如检索列表中包含 ID 为 1 的记录:
select * from s_dep where parent_list_json regexp '[\[,]1[,\]]'
既然清楚了用原生 SQL 的方式去实现这种查询,接下来只要在 QueryDSL + JPA 框架下组合出这种查询条件即可:
class DepSearchKey : SearchKey<DepEntity> {
// 查询表映射
private val dep = QDepEntity.depEntity
// 基础检索条件
private val baseCondition = dep.isNotNull
/**
* 部门名称
*/
var name: String? = null