所以我使用的是Postgres和Hibernate 4.2.2以及與類似實體上這個強制Hibernate離開ID空
@Entity(name = "Users")
@Check(constraints = "email ~* '^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+[.][A-Za-z]+$'")
@DynamicInsert
public class Users {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_user",unique = true)
@Index(name = "user_pk")
private Integer idUser;
休眠仍然插入一些ID已在該表中,而不是把emtpy爲數據庫來填充它。另外,hibernate根據它的高速緩存迫使id不甚至檢查數據庫是否具有lates id。
我該如何強制它,這樣我可以將id留空並讓數據庫插入它?
首先,我認爲這是因爲我使用的是int
,默認情況下int
是0,但即使使用對象,它也只是強制其緩存中的id。
所以我的目標是讓數據庫填充id而不是hibernate或至少Hibernate,然後再填充它以首先檢查數據庫的id。
向我們展示您用於插入您的實體的代碼 –
行,所以這裏的錯誤是,當插入到Postgres中而不使用序列(在數據庫創建中插入數據時)序列保持靜止而沒有遞增,那是錯誤 –
將其作爲您的問題的答案 –