問題
在使用lombok簡化model類時。使用@Builder建造者模式。
定義如下類:

報以下異常

解決辦法
- 去掉@NoArgsConstructor
- 添加@AllArgsConstructor
原因
Entity上加上@Builder,會默認為類加上全參構造函數,且提供以建造器模式構造對象的方法。但此時因為顯示聲明了構造器,默認的無參構造器就失效了,就不能通過new Obj()的方式創建對象。
這時自然想到加@NoArgsConstructor注解生成無參構造函數,以便使用new Obj()方式創建對象,很多框架中都需要反射調用無參構造函數。但是如果顯式聲明了@NoArgsConstructor,lombok就不會生成全參構造函數,而@Builder中會用到全參構造函數,所以沖突。
再加上@AllArgsConstructor可解決;或者去掉@NoArgsConstructor。
