我第一次在项目中使用 persist() 方法。使用 JPA,我使用 Hibernate 作为提供程序。这个案子很简单。我有 2 张桌子
- 公司 - Company_id(PK,一个序列),G_Company_id(也是唯一的)
- CP_Doc - Chronicle_id (PK), Company_id (FK 到上面的 Company_id))
现在我有一些特定公司的 CP_Docs。我已成功创建实体(为 JPA 的 createNativeQuery、createQuery 工作)。我还提到了集合的 cascade = CASCADE.ALL。
为了坚持,我编写了以下代码。
Company company = new Company();
company.setGCompanyId(7);
for(/* Get all docs for a particular company having id = 7 */) {
CP_Doc cpDoc = new CP_Doc();
cpDoc.setChronicleId(/* some chronicle id from the loop */);
cpDoc.setCompany(company);
entityManager.persist(cpDoc);
}
表之间的关系是一个公司可以有多个cp_docs。所以 CP_Doc 表是所有者表。我尝试从 CP_Doc 方面坚持下去。我也可以从公司实体方面坚持下去吗?请帮助专家:)