HQL返回重复的实体

时间:2013-10-03 02:31:40

标签: java hibernate jpa duplicates hql

我有一个这样的实体:

  @Entity
  @Table(name = "my_table")
  public class MyTable implements Serializable {

     @Id
     @Column(name = "RECORD_ID")
     private Long recordId;

     @Column(name = "CNAME")
     private String changeName;

     @Transient
     MyTableTwo tableTwo;

     //getters and setters
 }

MyTableTwo实体:

  @Entity
  @Table(name = "my_table_two")
  public class MyTableTwo implements Serializable {

     @Id
     @Column(name = "REC_ID")
     private Long recId;

     @Column(name = "CNAME")
     private String changeName;

     @Column(name = "CVAL")
     private String changeValue;

     //getters and setters
 }

我在recordId上写了HQL。 HQL:

 SELECT mt from MyTable where recordId = 123

匹配ID为123的4条记录。但这些行是唯一的。

recordId在数据库中有重复的值。所以我假设,如果有4个实体具有相同的recordId123。然后第一个实体将重复4次。

Q1。它是否正确? (目前,我得到的结果是这样的,重复的行。所以我想确认,重复recordId导致此问题。

现在我需要在字段名称上加入MyTableTwo

在常规查询中,我会这样写:

select my_table.record_id, my_table_two.rec_id, my_table_two.change_val 
  FROM my_table, my_table_tow
 where my_table.cname = my_table_two.cname;

Q2。如何处理上述实体设置?

问题3:它是否解决了重复的实体问题? (加入其他表格)

0 个答案:

没有答案