我的實體的幾列有默認值,現在我需要做插入工作。 我知道我可以實現doInHibernate方法和createSqlQuery(例如「insert into test(test_column)values(DEFAULT)」)來完成它。 但是有什麼辦法可以使用getHibernateTemplate()。save()來做到這一點嗎?我真的不希望將列設置爲默認值一個接一個。getHibernateTemplate保存實體與默認值
0
A
回答
0
如果列設置爲NOT NULL,並且列在數據庫級別指定了默認值,那麼由hibernate生成的INSERT查詢不得包含該列,以便數據庫將爲其添加默認值。你可以讓hibernate在使用insertable=false
進行INSERT時在你的@Column
註釋中不要包含一個特定的列,如下所示。
@Column(name = "test_column", insertable=false)
private int test_column
這種方法的侷限性是Hibernate總是會忽略「test_column」,而這樣做插入不管它包含價值與否。希望對你很好
+0
是否我可以在需要時插入值,而如果我沒有指定值然後插入默認值? –
+0
你可以看看我的答案,看看它是否可行嗎? –
相關問題
- 1. JPA實體默認值
- 2. 實體框架默認值
- 3. SQL Server默認值不會作爲實體默認值出現
- 4. 實體默認緩存在jpa中嗎?
- 5. 覆蓋默認保存實體春數據休息
- 6. 實體框架默認值SYSDATETIMEOFFSET
- 7. symfony2 - 「實體」字段的默認值?
- 8. 實體框架:設置回默認值
- 9. 從父實體設置默認值
- 10. 實體類型的默認值
- 11. 實體框架4和默認值
- 12. 實體框架外鍵默認值
- 13. 實體框架和默認值
- 14. AutoMapper IDataReader的映射默認值實體
- 15. MongoEngine將不保存默認爲false值
- 16. 將CCColor保存爲NSUser默認值?
- 17. SharedPreferences沒有保存,只有默認值
- 18. mongodb + express - 貓鼬不保存「默認」值
- 19. JAXB避免保存默認值
- 20. CakePHP保存默認的0值
- 21. 保存文本框的默認值c#
- 22. WCF服務與DataContracts VS默認實體框架實體對象
- 23. 實體框架表值函數 - 默認實體映射
- 24. gethibernatetemplate()。保存(物體)沒有持續數據
- 25. 默認值存儲
- 26. Rails 4:ActiveRecord不保存任何屬性,保存默認值
- 27. 默認值與SnappyDB
- 28. 用戶默認不保存
- 29. 用戶默認不保存
- 30. 保持默認值失敗
默認值將由數據庫處理。只需在數據庫級別爲列指定默認值,數據庫將處理它。沒有必要依賴hibernate這個 –
@DattatreyaKugve如果列設置爲NOT-NULL那麼數據無法插入,因爲NULL值,而設置NULL,那麼列變爲空 –
請參閱我的回答下面爲您的NOT NULL要求 –