Điều này nghe có vẻ ngu ngốc với bạn, nhưng tại sao tôi cần phải xác định hàm khởi tạo trống trong @Entity
s của mình?Thực thể Java - tại sao tôi cần một hàm tạo rỗng?
Mọi hướng dẫn tôi đã thấy đều nói: mọi thực thể đều cần một hàm tạo trống.
Nhưng Java luôn cung cấp cho bạn một hàm tạo rỗng rỗng mặc định (nếu bạn không định nghĩa lại).
Cảm ơn.
EDIT
Tôi nghĩ rằng có vấn đề ngữ nghĩa. Điều tôi hiểu bởi "nhu cầu" là viết.
Có nghĩa là: luôn viết hàm khởi tạo trống trong thực thể của bạn.
dụ:
@Entity
public class MyEntity implements Serializable {
@Id
private String str;
public MyEntity(){}
//here getter and setter
}
Nhưng Java luôn mang đến cho bạn constructor rỗng này khi bạn không xác định lại nó (viết một ai khác với các thông số).
Trong trường hợp này, hàm tạo rỗng này có vẻ vô dụng.
Vâng, không phải lúc nào cũng cần thiết, trừ khi bạn muốn cung cấp giá trị cụ thể cho các thành viên dữ liệu của mình. –
@ JavaNewbie_M107 Hàm khởi tạo Emtpy là bắt buộc (có thể là mặc định, nhưng vẫn phải có hàm tạo không có đối số) – Antoniossss
Nếu bạn có một lớp công khai, java thực sự cung cấp cho bạn một hàm tạo rỗng công khai _visible_ (và không _invisble_). – steffen