我正在使用JPA和Hibernate連接到表並將數據插入到同一個表中。我有一個表格說:有三列ID,名稱和地址的用戶。我有一個相同的實體類,並插入數據,我只是簡單地使用EntityManager的對象,並堅持在數據庫中的數據,這對我來說就像一個魅力。在插入行之前驗證Postgres表中的現有值
現在我有一個場景,我想檢查我持久化的值是否已經存在,如果是這種情況我必須記錄一個錯誤。目前我如何做是手動加載表中的行,並手動檢查是否存在相同的值,這對於只有三列的示例表(User)來說相當簡單。但是如果我有一張30列的桌子呢?
我是否根據一個條件手動加載數據並檢查其他列,或者有更好的方法可以做到嗎?
使用表約束,不允許重複的行。 – Kayaman
+1給@Kayaman,使用Db約束。 否則sql/hql查詢是唯一的選擇。 –
查找表格的唯一子列併爲每個列應用約束。 - 爲了保持你的榜樣,比方說,我們有一個用戶表,有一堆列。你想要允許2個不同的行在'email'列是相同的,但是讓我們說'favourite_color'是不同的。 – pozs