Я создал сущность, соединяющую таблицу Customer с таблицей сведений о клиенте с помощью аннотации SecondaryTable
@Entity
@Table(name="CUSTOMER")
@SecondaryTable(name="CUST_DETAIL",
pkJoinColumns=@PrimaryKeyJoinColumn(name="CUST_DETAIL_ID", referencedColumnName = "CUST_DETAIL_ID"))
public class Customer {
@Id
@Column(name = "CUST_ID")
private Long id;
@Column(name = "CUST_DETAIL_ID")
private Long custDetailPk;
@Column(name = "CUST_DETAIL_ID", table = "CUST_DETAIL")
private Long custDetailId;
...
}
Он работает с Java 1.6, сгенерированный запрос похож на
SELECT t0.CUST_ID, t0.CUST_DETAIL_ID, t1.CUST_DETAIL_ID, ... FROM CUSTOMER t0, CUST_DETAIL t1 WHERE t1.CUST_DETAIL_ID = t0.CUST_DETAIL_ID
, но когдаЯ перехожу на Java 1.7, сгенерированный запрос выглядит ошибочно
SELECT t0.CUST_ID, t1.CUST_DETAIL_ID, t0.CUST_DETAIL_ID, ... FROM CUSTOMER t0, CUST_DETAIL t1 WHERE t1.CUST_DETAIL_ID = t1.CUST_DETAIL_ID
и возвращает несколько строк.
Есть ли какие-либо проблемы с вторичной таблицей jpa и java 1.7?