我有 2 個物體,一個用于 taskList,另一個用于用戶。用戶可以為自己或他們的朋友創建任務,因此在 Tasks 物體中,我有不同的列參考該User物體,一個用于createdBy另一個,createdFor最后一個用于modifiedBy.
在tasks物體中,我建立了以下@ManyToOneJPA 關系:
@ManyToOne(optional = false)
@JoinColumn(name = "created_by", nullable = false,
referencedColumnName = "id")
private User createdBy;
@ManyToOne
@JoinColumn(name = "created_for", nullable = false,
referencedColumnName = "id")
private User createdFor;
@ManyToOne
@JoinColumn(name = "modified_by", nullable = false,
referencedColumnName = "id")
private User modifiedBy;
但是我不確定如何在Users側面進行鏈接,我有以下@OneToMany關系:
@OneToMany(mappedBy = "createdFor", cascade = CascadeType.ALL)
private List<Task> taskList;
但我不確定如何處理其他關系,因為我真的不需要taskList用戶創建的任務或他修改了哪些任務。
uj5u.com熱心網友回復:
您不需要映射 Entity 中的所有事物,也不需要將每個關系配置為雙向。
因此,如果您真的不需要訪問Tasks從給定創建和修改的那些User,只需忽略它們并且不要映射它們User。
將關系配置為單向是完全有效的。您現有的代碼應該已經可以完美運行了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/419232.html
標籤:
上一篇:通過更改API資料更改圖示
下一篇:無法建立HibernateSessionFactory;嵌套例外是org.hibernate.MappingException:無法確定型別:java.util.Set,在表:
