2011-01-05 148 views
1

設置:我有一個簡單的Web應用程序,它有一個表單提示,每個都在一個單獨的頁面上。這些表格代表患者數據。病人和所有這些形式/實體之間存在一對一的關係。每個表單直接映射到數據庫表和JPA實體,可能不是最好的架構,但它的工作原理很簡單。 問題:如果表單/實體A和表單/實體B共享一個共同的數據塊(多個字段之一),那麼在JPA中處理這種情況的最佳方式是什麼? I.E. - 如果數據通過表單A插入,我需要它以表單B的形式顯示爲現有數據,反之亦然。換句話說,它對兩個實體都包含這些數據是合乎邏輯的。我相信我必須將公共數據轉移到自己的實體中,並以這種方式定義關係,但我嘗試了許多不同的方式,至少在基本的JPA方面,沒有一個方法能夠讓我獲得滿足。這可以通過純JPA關係來完成,還是必須編寫一堆代碼才能手動完成此操作。沒有專門查找代碼,只是對這些數據建模的正確方法。謝謝。JPA實體之間的數據共享

+0

你能否給我們一些具體的細節? – 2011-01-05 21:30:03

回答

1

如果表單的公用數據具有重複列的單獨表格,則不能直接共享數據。您需要將應用程序中的數據從一個實體複製到另一個實體。您可以使用Embeddable來定義公用數據,但仍需要將此嵌入式從一個表單複製到另一個表單。

如果您將公共數據放在第三個表中,則可以共享數據。表格A和表格B將定義與普通數據的OneToOne關係。