【发布时间】:2011-03-14 23:05:30
【问题描述】:
我有 2 个带有复合键的旧数据库实体,其中一个具有带有 @EmbeddedId 注释的复合键。
// first entity
@Entity
public class Product {
@Id
private Integer productId;
// lookup table contains code-description pairs
@OneToOne
private ProductDefects defects;
//getters and setters and other code omitted
}
// lookup entity
@Entity
public class ProductDefects {
@EmbededId
private ProductDefectsPK id;
//getters and setters and other code omitted
}
//composite key
@Embedable
public class ProductDefectsPk{
private Integer realId;
private String category;
}
我应该如何定义要加入的@OneToOne 关系,如下例所示:
select p.Id, pd.description
from Product p
inner join p.defects pd
【问题讨论】:
-
现在我不明白你的问题。您要编写特定的 JPQL 查询吗?
-
JPQL like this select p.Id, pd.description from Products p join f.defects pd