我有一个使用dropwizard框架创建的应用程序,我已经注册了一个计划在每个指定的持续时间后运行的quartz-scheduler作业.此作业向SQL Server DB发出SQL查询并迭代ResultSet并将数据设置为POJO类,稍后将其推送到队列.
SQL查询使UNION连接多个表,这些表使用where子句中相关表的last_modified_time列获取在增量时间内修改的记录的数据.pom.xml中包含的DB jar是sqljdbc-4.4.0,quartz版本是2.2.1
查询如下所示:
SELECT
u.last_modified_date,
u.account_id,
u.user_id,
ud.is_active
FROM user u WITH (NOLOCK)
JOIN user_details ud with (NOLOCK) ON u.account_id = ud.account_id AND u.user_id = ud.user_id
WHERE u.last_modifed_date > ? AND ud.last_modifed_date <= ?
UNION
SELECT
u.last_modified_date,
u.account_id,
u.user_id,
ud.is_active
FROM user u WITH (NOLOCK)
JOIN user_details ud with (NOLOCK) ON u.account_id = ud.account_id AND u.user_id = ud.user_id
JOIN user_registration_details urd WITH (NOLOCK) ON urd.account_id = u.account_id AND urd.user_id = u.user_id AND urd.reg_id = ud.reg_id
WHERE urd.last_modifed_date …
Run Code Online (Sandbox Code Playgroud)