public List findStockByStockPOAndTradeDate(int from, int size, StockPO po,
Date tradeDate) {
List list = new ArrayList();
List result = new ArrayList();
logger.info("##startfindStockByStockPOAndTradeDate");
SimpleDateFormat sdf = new SimpleDateFormat("dd-M月-yy");
String date = sdf.format(tradeDate);
StringBuffer sql = new StringBuffer(
"SELECT stkmp.* FROM STKMP stkmp INNER JOIN(SELECT st.STOCK_ID stid ,st.COUNTRY cou FROM STKMP st INNER JOIN stock sto ON st.STOCK_ID=sto.STOCK_ID and st.COUNTRY=sto.COUNTRY WHERE sto.country='");
sql.append(po.getStockPK().getCountry())
.append("' AND sto.mkt_type='").append(po.getMarketType())
.append("' AND sto.cur_type='").append(po.getCurrencyType());
if (null != po.getStockPK().getStockNO()) {
sql.append("'AND sto.STOCK_ID='").append(
po.getStockPK().getStockNO());
}
if (null != po.getStockInternationalId()) {
sql.append("'AND sto.STOCK_NID='").append(
po.getStockInternationalId());
}
if (null != po.getStockReservationType4Entity()) {
sql.append("' AND sto.SP_ENT= '").append(
po.getStockReservationType4Entity());
}
if (null != po.getStockReservationType4Strip()) {
sql.append("' AND sto.SP_PP= '").append(
po.getStockReservationType4Strip());
}
if (null != po.getStockReservationType4TDCC()) {
sql.append("' AND sto.SP_TSCD= '").append(
po.getStockReservationType4TDCC());
}
sql
.append(
"' GROUP BY st.STOCK_ID ,st.COUNTRY) stock2 ON stkmp.STOCK_ID=stock2.stid AND stkmp.TRADE_DATE='")
.append(date)
.append(
"' and stkmp.COUNTRY=stock2.cou ORDER BY stkmp.TRADE_DATE desc");
this.getSession().clear();
Query query = this.getSession().createSQLQuery(sql.toString())
.addEntity("stkmp", StockMarketPricePO.class);
query.setMaxResults(size);
query.setFirstResult(from);
result = query.list();
logger.info("##message"+result.size());
list.add(0, result);
StringBuffer sqltest = new StringBuffer(
"SELECT count(*) FROM STKMP stkmp INNER JOIN(SELECT st.STOCK_ID stid ,st.COUNTRY cou FROM STKMP st INNER JOIN stock sto ON st.STOCK_ID=sto.STOCK_ID and st.COUNTRY=sto.COUNTRY WHERE sto.country='");
sqltest.append(po.getStockPK().getCountry()).append(
"' AND sto.mkt_type='").append(po.getMarketType()).append(
"' AND sto.cur_type='").append(po.getCurrencyType());
if (null != po.getStockPK().getStockNO()) {
sqltest.append("'AND sto.STOCK_ID='").append(
po.getStockPK().getStockNO());
}
if (null != po.getStockInternationalId()) {
sqltest.append("'AND sto.STOCK_NID='").append(
po.getStockInternationalId());
}
if (null != po.getStockReservationType4Entity()) {
sqltest.append("' AND sto.SP_ENT= '").append(
po.getStockReservationType4Entity());
}
if (null != po.getStockReservationType4Strip()) {
sqltest.append("' AND sto.SP_PP= '").append(
po.getStockReservationType4Strip());
}
if (null != po.getStockReservationType4TDCC()) {
sqltest.append("' AND sto.SP_TSCD= '").append(
po.getStockReservationType4TDCC());
}
sqltest
.append(
"' GROUP BY st.STOCK_ID ,st.COUNTRY) stock2 ON stkmp.STOCK_ID=stock2.stid AND stkmp.TRADE_DATE='")
.append(date)
.append(
"' and stkmp.COUNTRY=stock2.cou ORDER BY stkmp.TRADE_DATE desc");
this.getSession().clear();
Query querycount = this.getSession().createSQLQuery(sqltest.toString());
int count = ((BigDecimal) querycount.uniqueResult()).intValue();
logger.info("##endfindStockByStockPO" + list.size() + "--" + count);
list.add(1, new Integer(count));
return list;
}
分享到:
相关推荐
10.4.4. 使用原生SQL的查询 10.5. 修改持久对象 10.6. 修改脱管(Detached)对象 10.7. 自动状态检测 10.8. 删除持久对象 10.9. 在两个不同数据库间复制对象 10.10. Session刷出(flush) 10.11. 传播性持久化...
11.4.4. 使用原生SQL的查询 11.5. 修改持久对象 11.6. 修改脱管(Detached)对象 11.7. 自动状态检测 11.8. 删除持久对象 11.9. 在两个不同数据库间复制对象 11.10. Session刷出(flush) 11.11. 传播性持久化...
10.4.4. 使用原生SQL的查询 10.5. 修改持久对象 10.6. 修改脱管(Detached)对象 10.7. 自动状态检测 10.8. 删除持久对象 10.9. 在两个不同数据库间复制对象 10.10. Session刷出(flush) 10.11. 传播性持久化...
11.4.4. 使用原生SQL的查询 11.5. 修改持久对象 11.6. 修改脱管(Detached)对象 11.7. 自动状态检测 11.8. 删除持久对象 11.9. 在两个不同数据库间复制对象 11.10. Session刷出(flush) 11.11. 传播性持久化...
使用原生SQL的查询 11.5. 修改持久对象 11.6. 修改脱管(Detached)对象 11.7. 自动状态检测 11.8. 删除持久对象 11.9. 在两个不同数据库间复制对象 11.10. Session刷出(flush) 11.11. 传播性持久化...
4、最强大的分页查询:很多人第一次了解到何为快速分页、分页优化这种极为巧妙的处理,还有在count语句上的极度优化。 5、跨数据库函数方言替换,如:isnull/ifnull/nvl、substr/substring 等不同数据库。 sqltoy-...
Java面试题74:sql语句优化小技巧 Java面试题75:批量插入几百万条数据 Java面试题76:有没有使用过redis Java面试题77:redis的使用场景 Java面试题78:redis存储对象的方式 Java面试题79:redis数据淘汰机制 Java...
│ Java面试题74:sql语句优化小技巧.mp4 │ Java面试题75:批量插入几百万条数据.mp4 │ Java面试题76:有没有使用过redis.mp4 │ Java面试题77:redis的使用场景.mp4 │ Java面试题78:redis存储对象的方式.mp4 │...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...
JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...