我知道一個不帶參數的構造函數必須位於Entity中。但最近,我也看到了帶有參數的構造函數。我不明白,爲什麼可能需要它,以及它是如何工作的。爲什麼我們需要在實體中聲明NOT空構造函數?
0
A
回答
0
對於hibernate實體,您應該至少提供一個不帶參數的默認構造函數。如果你的實體有許多字段,並且只有它們是你可以創建帶有強制參數的構造函數/構造函數,但默認構造函數(不帶參數)應該是實體。
作爲你的實體它是一個普通的類,你不僅可以用於Hibernate映射,也可以用於其他組件。
您還可以添加靜態工廠方法來輕鬆創建類。
的exaple:
@Entity
class User{
//mandatory fields
private Long id;
private String userName;
//not mandatory fields:
private Date registrationDate;
private String nickName;
public User(){//it's default constructor for hibernate entity creation
}
public User(Long id ,String userName){ // you can create entity whenever when you want to create entity
....
}
}
與用戶名(ID長,字符串username) - 你聲明,如果你需要的用戶實例 你應該強制字段創建它。
的情況下,當你有用戶()構造很難理解什麼參數是必須的
0
內部創建實體休眠的情況下使用newInstance()方法這個方法只適用於默認的構造函數只有.thats如果u提供任何參數化構造函數以及我們必須提供默認構造函數。
相關問題
- 1. Java實體 - 爲什麼我需要一個空構造函數?
- 2. 爲什麼我們需要JPA中的空構造函數。 ??
- 3. 爲什麼我們需要OOP中的構造函數?
- 4. 爲什麼要在類的構造函數中聲明變量?
- 5. 爲什麼我們需要一個私有構造函數?
- 6. 爲什麼我們需要一個構造函數?
- 7. 爲什麼我們需要一個私人構造函數?
- 8. 爲什麼JAVA需要構造函數?
- 9. 爲什麼我們需要在WebSocket構造函數中提及ws協議?
- 10. 爲什麼我們需要在MSIL中顯式調用父構造函數?
- 11. 爲什麼我們需要在JavaScript中調用父構造函數繼承
- 12. 我們什麼時候需要一個默認構造函數?
- 13. 爲什麼類擴展intentservice需要空的構造函數?
- 14. 爲什麼IMPLEMENT_DYNAMIC需要一個空構造函數?
- 15. 爲什麼構造函數中需要apply()函數
- 16. 爲什麼我們需要弱實體而不是強實體?
- 17. 實體框架:爲什麼實體類的集合類型需要在默認構造函數中實例化?
- 18. 爲什麼原型必須在構造函數之外聲明?
- 19. 爲什麼我們不能在togglestatus函數中聲明this.render?
- 20. 什麼是仿函數,爲什麼我們需要它們?
- 21. 什麼參數構造函數的意思,當明確要求在聲明
- 22. 爲什麼我們需要第四個構造函數用於棒棒糖?
- 23. C++構造函數重載 - 爲什麼說我需要括號?
- 24. 爲什麼我需要定義自定義構造函數?
- 25. 爲什麼我們需要的java.sql聲明*包
- 26. 爲什麼默認的構造函數需要在實例化Object時使用Parameterized構造函數在POJO文件中聲明?
- 27. 爲什麼聲明變量調用構造函數
- 28. C#構造函數聲明
- 29. 爲什麼我們需要明確的身體分析器?
- 30. 爲什麼線程函數需要聲明爲'__cdecl'?
不知道我得到你的問題。那麼,你有什麼困惑?可能你可以舉個例子嗎?如果我們談論的是兩個建築師存在的情況 - 是的,這是可能的。它被稱爲超載。 –
對於由框架通過反射實例化的實體,至少有一個無效構造函數是必需的。只要你有一個無用的構造函數,它可以使用的其他構造函數並不重要。只要存在一個空隙,實體就可以擁有儘可能多的構造函數。你在哪裏看到這個? –
你需要在另一個類中使用參數的構造函數的原因與實體相同。作爲類數據主要表示的主要文件可以使用構造函數,輔助文件 - 使用setter來構建。順便說一句,如果你不這樣做,java會隱式地提供空構造函數。 –