小编Cez*_*e07的帖子

gcp - 在数据库插入时触发云功能?

不知道如何搜索这个;我正在寻找一种在 Cloud SQL 中的数据库中插入新行时触发 Cloud Function 的方法。搜索“google云功能事件”(或“触发器”)会出现Firebase结果,这不是我想要的。

有一系列的云功能可以接收数据并根据客户的需求进行转换;最后,经过一些操作,该数据最终出现在一个表中。是否有一个我可以监听的事件,以便我可以访问新插入的行?如果没有,我可能最终会使用云调度程序并定期查看数据库。然而,从长远来看,这个解决方案似乎并不可行。

我将不胜感激任何建议。

google-cloud-platform google-cloud-functions

7
推荐指数
1
解决办法
4568
查看次数

querydsl - 删除列中间的空格

有没有办法在 querydsl 中执行此查询?

SELECT *
FROM table
WHERE replace(column_name, ' ', '') = 'someValue';
Run Code Online (Sandbox Code Playgroud)

StringPath没有QClassreplace()函数,并且在使用 测试之前有必要删除一些字符(特别是中间的空格) 。column_namesomeValue

样本column_name内容:ABC, DEF, AB *

如果someValueABCABCAB*应该出现。

replace querydsl removing-whitespace

5
推荐指数
1
解决办法
3193
查看次数

QueryDSL左加入ON中的附加条件

是否可以在QueryDSL中执行以下查询?

SELECT p.*
FROM parts_table p LEFT JOIN inventory_balance_table i ON 
    (p.part_no = i.part_no 
     AND i.month = MONTH(CURRENT_DATE) 
     AND i.year = YEAR(CURRENT_DATE));
Run Code Online (Sandbox Code Playgroud)

库存余额存储每个部件号/月/年的库存数据; 我只需要当前年份和月份的数据.

我已经得到了基本的左连接:

QPartsTable qParts = QPartsTable.partsTable;
QInventoryBalance qBalance = QInventoryBalance.inventoryBalance;

JPAQuery q = new JPAQuery(em);
q.from(qParts).leftJoin(qParts.inventoryBalance, qBalance);
q.where(...);
List<Part> list = q.list(qParts);
Run Code Online (Sandbox Code Playgroud)

这使得正确的sql,但只加入了部件号.

检查生成的零件的库存可用性(以及其他内容).左连接是必要的,因为我仍然需要没有库存条目的零件(例如新零件).左连接将获得没有匹配库存余额的那些,但添加month = MONTH(CURRENT_DATE)等等查询的where子句会删除没有库存余额的行(因为它们没有年/月数据).

出于同样的原因@Where,@Filter将从结果零件清单中删除这些零件,并且不适用.可悲的是@Filter,这@Where是我在谷歌和SO搜索中获得的唯一其他结果.(奇怪的是,即使在会话中启用了过滤器,过滤器也不会影响查询...)

最简单的解决方案是我原来的问题:如何将上述SQL转换为QueryDSL?通常,是否可以向左连接的ON子句添加更多和/或自定义条件?这个问题的替代解决方案是什么?

提前致谢!


更新 - 后续问题和观察:(也许这应该是一个完全新的问题?)

在查看了文档之后,似乎较旧的博客证明了querydsl具有的on()功能leftJoin.为什么不再是这种情况?

SQLQuery(或HibernateSQLQuery其他一些变种)具有on()函数,但leftJoin()接受RelationalPath<T>,而不是EntityPath<T>as JPAQuery.似乎不可能将QClasses转换为a …

java left-join querydsl

4
推荐指数
1
解决办法
2万
查看次数