я получил 2 EntitiesJPA (EclipseLink) @OneToMany пропускает некоторые entrys
Customer.class
@Entity
@Table(name = "Customer")
public class Customer {
@Id
private int id;
@OneToMany(mappedBy = "customer"; fetch = FetchType.EAGER)
private Set<Invoice> invoice;
}
и
Invoice.class
@Entity
@Table(name = "Invoice")
public class Invoice {
@Id
@ManyToOne
@JoinColumn(name = "customer")
private Customer customer;
@Column(name = "price", nullable = false)
private double price;
}
Они оба отображаются в persistence.xml.
Итак:
System.out.println(customer);
для конкретного клиента дает мне 30 entrys счета-фактуры, но я получил 33 в базе данных.
Я использую org.eclipse.persistence.jpa 2.5.0 и персистенции-API 1.0.2
Я ценю каждый намек/решение.
Заранее спасибо.
Это отображение не имеет никакого смысла. Как клиент может быть идентификатором счета-фактуры, поскольку на обычных счетах есть один и тот же клиент? Идентификатор должен быть уникальным. –
ПК в базе данных состоит из нескольких столбцов. Должен ли я использовать EmbeddedId? Как следует выглядеть ManyToOne и JoinColumn? Спасибо – Beig
Показать полное сопоставление. –