我有一个这样的实体:
@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个实体具有相同的recordId
说123
。然后第一个实体将重复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:它是否解决了重复的实体问题? (加入其他表格)