zidane1000 2013-01-22 17:29
浏览 558
已采纳

hibernate 如何自关联

一个类WatElectric有一个属性是fillDate,表示填写日期,

class WatElectric{

    private int id;

    private Double income;

    private Date fillDate;

    // 省略getter和setter

}

 

在hibernate中,现在要要知道这个月的收入 比上一年的同期(就是去年的同一个月)是增加还是减少。

所以应该是一个自连接,不知道类应该怎么写, hbm.xml文件应该怎么写。还有hql语句怎么写呢。

感觉应该是一对一, 因为每一个月只有一个去年的同月份, 但不知如何下手

望各位能够回答我这个问题。。。

  • 写回答

2条回答 默认 最新

  • h248980496 2013-01-23 10:52
    关注

    感觉需求不是很明确啊
    1.填写日期是否报表日期?如果2月填写1月数据会否有问题?是否增加一个报表日期字段?
    2.是否一个月只有一张表?多张表的话是否有唯一性的组合查询约束?
    3.强烈建议不要使用自关联,面向对象设计时,同比统计不应该做关联,万一没有上一年同期的表呢?万一要统计上上一年呢?万一历史数据有删除呢?
    4.建议还是在程序端做代码,即使要sql也可以通过条件直接查询出来,而不是通过关联关系,比如select a.income, b.income from T a,T b where year(a.date)=2013 and month(a.date)=1 and year(b.date)=2012 and month(a.date)=1类似的,具体看你的数据库了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘