エンティティマップ共有プライマリキーを使用すると、Hibernateによって作成されたSQLに問題があります。Hibernate:HQLで共有プライマリキーを使用
@Entity
@Column(name = "employee_table")
public class EmployeeEntity {
@Id
@Column(name = "id")
@SequenceGenerator
@GeneratedValue
private Long id;
@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn
private EmployeeDetailsEntity employeeDetailsEntity;
}
@Entity
@Table(name = "employee_details")
public class EmployeeDetailsEntity {
@Id
@Column(name = "id")
private Long id;
// additional attributes
}
私は詳細を持っているすべての従業員を選択したい:私はここに私の実体だJPA 2.1を使用して5.2.2
を休止してい
select e from EmployeeEntity e where e.employeeDetailsEntity is not null;
選択Hibernateが生成されたことにされます:
select employeeen0_.id from employee_table employeeen0_ where employeeen0_.id is not null;
私が間違っていることを説明してください。これを解決するのに役立つでしょうか?
どのJPAバージョンをお使いですか? – dcalap
JPAとHibernateの情報を追加しました。 – Dmitry
このリンクをチェックしましたか? http://stackoverflow.com/a/6839336/1230748 – dcalap