私は、ヘッダと行を含むドキュメントを構築するタスクを持っています。 たとえば、ヘッダ(日付、在庫)および行(品目、数量、価格、合計)を含む在庫収入伝票。私の問題は、私のクラスのアーキテクチャが正しいとは確信していません。コードは(JPA + Hibernateは)ここにある:JPAの2クラス間の関係
@Entity
@Table
public class Document extends BaseEntity {
@Column
@Temporal(TemporalType.DATE)
private Date date;
@Column
@Temporal(TemporalType.DATE)
private Date createDate;
@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
private Set<DocumentRow> rows;
...
}
public class DocumentRow extends BaseEntity {
@ManyToOne(optional = false, cascade = CascadeType.ALL)
private Document document;
@Column(nullable = false, unique = true)
private Integer row;
...
}
@MappedSuperclass
public abstract class BaseEntity implements Serializable {
private static final long serialVersionUID = 8171308450531596347L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id; ...}
よく指摘されていることは、彼の問題を正確に説明している –