`
cheng_xiao
  • 浏览: 1004 次
  • 性别: Icon_minigender_2
  • 来自: 南京
社区版块
存档分类
最新评论

问题:TOSS之HIBERNATE应用——多表连接

阅读更多
    已经在TOSS项目上,维护了1年了,还是有很多疑惑。

     揣测不出,这个项目为什么要用SSH。
     在我看来,对这项目SSH只是个很空的框架。系统对HIBERNATE和SPRING都没有什么深层应用,估计该项目这个大部分的编码人员和我一样,对这两个框架认识不深。

     问题最多出现在,复杂SQL的查询。
     系统用的是HIBERNATE自带的分页。参见:/toss/WEB-INF/src/com/bytime
/toss/framework/persistence/hibernate/HibernatePersistenceManager.java
     这样的共通调用,为保证查询记录数(页面:总条数)正确,必须要用一条SQL查出结果集。这个集,必须保证记录条数和查询总条数一致,至于查询内容,可以通过循环查询加入LIST。应用和理的时候,这种查询方式,并不会影响性能。
      但问题出在,必须一条SQL,遇到逻辑复杂的查询,很麻烦。有时候,需要用多表连接。

      一般使用:a.name=b.name(+),这样的形式基本可以表示左连接。
      我注意到,这时使用distinct,结果不能保证distinct后面的值唯一。
     
      对HQL的left join不熟悉,这里的fetch该怎么抓取?
     
      大概记录这些,有时间需要看一看。
     
     
    
分享到:
评论

相关推荐

    toss:用于Toss付款的Python客户端库

    折腾用于Toss付款的Python客户端库包装器(真正的梦想是吃生的)参考要求python3 坚强的心态安装点安装折腾用法 from toss import TossPayClientclient = TossPayClient () # 아무 값도 없으면 샌드박스支付请求 ...

    cpp-Toss是一个在局域网内传输文件的命令行工具

    **cpp-Toss:局域网文件传输利器** cpp-Toss是一款专为程序员设计的轻量级命令行工具,主要用于在局域网(LAN)环境中快速、高效地传输文件。这款工具充分利用了C++语言的性能优势,实现了快速的数据传输,为开发者...

    tossim.rar_TOSSIM_tinyos_toss

    Toss:TOSSIM的拓展** Toss是TOSSIM的一个扩展,增加了更多功能和特性,如动态加载应用程序、更精确的能量模型等,进一步提升了TOSSIM的仿真能力。Toss使得开发者能够在模拟环境中更准确地模拟网络行为和能耗情况...

    Coin-Toss

    在IT行业中,"Coin-Toss"项目可能是一个简单的模拟掷硬币游戏的程序,使用JavaScript这一流行的编程语言来实现。JavaScript是一种广泛应用于Web开发的脚本语言,它允许我们在浏览器端执行代码,为用户带来交互性的...

    Toss-the-Coin:抛硬币

    这个应用的核心功能是生成随机结果,模仿真实硬币投掷时可能出现的正面或反面。在网页开发中,实现这样的功能通常涉及到HTML、CSS(用于页面布局和样式)以及JavaScript(用于添加交互性和动态效果)。 HTML...

    TOSSIM.rar_TOSSIM_TOSSIM Tinyos-2.x_tinyos_toss

    【标题】"TOSSIM.rar_TOSSIM_TOSSIM Tinyos-2.x_tinyos_toss" 提供了一个关于 TinyOS-2.x 框架中的 TOSSIM 模拟器的深入理解。TOSSIM 是一个强大的工具,用于模拟和测试 TinyOS 应用程序,特别是针对无线传感器网络...

    过级词汇——四六级最重要最精华的单词.doc

    【过级词汇——四六级最重要最精华的单词】文档主要涵盖了英语四六级考试中常见的一些重要词汇和短语,这些词汇和短语对于提高听力理解和表达能力至关重要。以下是对部分词汇和短语的详细解释: 1. take a rain ...

    zoj 1497 Ball Toss.md

    zoj 1497 Ball Toss.md

    tossim.rar_TOSSIM_tinyos_toss_tossim-tinyviz_传感器网络

    1. **精确的时间模拟**:Tossim支持精确到纳秒级的时间模拟,这使得开发者可以研究网络中的时间同步问题和延迟敏感的应用。 2. **多节点交互**:Tossim可以同时模拟大量节点,模拟它们之间的无线通信,包括信号强度...

    coin-toss:抛硬币

    npm install --save coin-toss 用法 var coin = require('coin-toss'); console.log(coin.isHeads()); // `true` or `false` console.log(coin.isTails()); // `true` or `false` console.log(coin.toss()); // `'...

    金融科技动向2021年上半年——反弹再创新高.pdf

    2021年上半年,全球金融科技市场展现出强劲的复苏态势,以"多样化"为主题,多个细分领域如财富科技、监管科技、加密货币和网络安全等领域交易活跃,交易规模显著扩大。这一趋势得益于疫情加速的数字化进程,以及大量...

    kiteh-toss:一个p5.js游戏,涉及尽可能长时间地折腾猫

    《kiteh-toss:利用p5.js制作的桌面猫咪抛投游戏详解》 kiteh-toss是一款基于p5.js库开发的趣味小游戏,玩家的任务是尽可能长时间地让一只像素风格的猫咪在空中翻飞,挑战自己的反应速度和操控技巧。这款游戏专为...

    tomato-toss:玩家必须将西红柿放在空中

    综上所述,"Tomato Toss"项目展示了JavaScript在游戏开发中的广泛应用,包括用户交互、动画制作、DOM操作、事件处理、物理模拟、数据管理等多个方面。通过学习和实践这样的项目,开发者不仅可以提升JavaScript技能,...

    toss-me:轻松在设备之间折腾临时文件

    这是一个简单的 HTML5 应用程序,允许用户在设备之间折腾临时文件。 快速开始 git clone https://github.com/toolness/toss-me.git cd toss-me npm install DEBUG= node app.js 环境变量 注意:当环境变量被描述为...

    UVa Online Judge部分题目代码

    5. **递归与回溯**:递归是解决很多问题的有效方法,比如斐波那契序列、八皇后问题等。而回溯则常用于解决棋盘类问题,如N-皇后问题、填字游戏等。 6. **模拟与建模**:有些题目需要根据实际问题进行抽象建模,然后...

    clone_toss

    在"clone_toss-master"目录中,我们通常会找到源代码文件,这些文件包含了实现克隆应用的所有HTML、CSS(层叠样式表)和JavaScript代码。HTML文件用于构建页面的基本框架,包括标题、段落、链接、图像和其他元素。...

    Toss:所有项目的根文件夹

    选择以下选项之一: 从下载最新的稳定版本,或使用创建自定义版本。 克隆git repo- git clone https://github.com/h5bp/html5-boilerplate.git并签出您要使用的带。 特征 HTML5准备好了。 放心使用新元素。 设计...

    随机数类 c++实现 及随机数跑硬币的应用

    std::cout << "Toss " << i + 1 << ": " (rng.tossCoin() ? "Heads" : "Tails") << std::endl; } return 0; } ``` 在这个示例中,我们定义了一个名为 `RandomNumberGenerator` 的类,它接受一个可选的种子值。`...

    TOSS661219MCLRLN00

    【标题】"TOSS661219MCLRLN00"可能是指一个特定的项目、版本或者代码库的标识符,但没有提供足够的上下文来详细解释它的具体含义。不过,从标签"HTML"我们可以推断,这个主题与网页开发相关。 【描述】中的内容同样...

    TOSS-Intro-Bot

    【标题】"TOSS-Intro-Bot" 是一个与Python编程相关的项目,它可能是为了介绍如何使用Python语言来构建一个基础的机器人应用。这个项目的名字暗示了它可能涉及到使用Python来实现一个简单交互式的系统,可能是一个...

Global site tag (gtag.js) - Google Analytics