将查询转换为hibernate查询并更新新表

时间:2015-03-08 06:46:57

标签: java mysql hibernate

所以问题陈述是我需要更新我的 tag_statistics 表。 Hibernate中所有这些连接都是相当新的,所以我试图尽可能多地提供信息来帮助你解决问题。

我的简单解决方法是使用rawQuery并快速更新我的MySQL后端,但我想知道如果使用Hibernate正确完成它将如何完成。我使用的是Hibernate 4.2.2(如果有必要,我不介意进一步升级)

谢谢!期待您的建议和解决方案。

所以这里是需要转换的查询:

  

SELECT t.id,SUM(ps.solved)as total_solved FROM tags as t,   problem_tag_mapping为ptm,problems_solved为ps,其中t.id =   ptm.tag_id和ptm.problem_id = ps.problem_id GROUP BY t.id";

然后我会使用此输出来更新 tag_statistics 表。


这就是数据库的样子:

标签

  

ID(BIGINT),
  名称(VARCHAR)

问题

  

ID(BIGINT),
  代码(VARCHAR)

problems_solved

  

problem_id(FK - bigint)
  solve(int)

problem_tag_mapping

  

problem_id(FK - bigint)
  tag_id(FK - bigint)

tag_statistics

  

tag_id(FK - bigint)
  解决(INT)


这就是Hibernate实体的样子(只是有趣的东西 - 随意请求更多代码):

ProblemsEntity

  

@ManyToMany
  @JoinTable(name,joinColumns,inverseJoinColumns)
  TagsEntity

     

@OneToOne(的mappedBy)
  ProblemsSolvedEntity

TagsEntity

  

@ManyToMany(的mappedBy)
  ProblemsEntity

ProblemsSolvedEntity

  

@OneToOne
  @JoinColumn
  ProblemsEntity

0 个答案:

没有答案