2009-05-26 55 views
5

Cơ chế nào db4o sử dụng để khởi tạo các đối tượng được lưu trữ?Làm thế nào để db4o khởi tạo các đối tượng?

Lớp học của tôi không thể tuần tự hóa và không cung cấp hàm tạo đối số 0 và hàm tạo duy nhất ném NullPointerException khi đối số của nó là null.

Mặc dù vậy, db4o vẫn có thể khởi tạo đối tượng được lưu trữ của lớp đó (mặc dù có giá trị không chính xác).

Nếu tôi có thể hiểu cơ chế có lẽ tôi có thể theo dõi lỗi tôi có.

tôi sẽ đánh giá cao bất kỳ liên kết:]

Trả lời

1

Db4o là nguồn mở để bạn có thể xem nguồn. Ý tưởng cơ bản là sử dụng type handlers cho phép serialization và deserialization của các đối tượng. Có một nhà cung cấp simple example cho người dùng cấp cao yêu cầu trình xử lý loại tùy chỉnh. Object construction có thể sử dụng hàm tạo hoặc bỏ qua hàm tạo nếu không có hàm tạo thích hợp nào tồn tại. Lỗi xây dựng được đề cập có thể được ngăn chặn bằng cách sử dụng các thiết lập cấu hình để chỉ thị db4o gọi các hàm tạo.

Bạn có thể đăng câu hỏi này trên db4o forums để nhận giải thích chi tiết hơn từ các nhà phát triển.

Goran

2

Nó sử dụng (hoặc JVM khác của bạn) api đặc biệt mặt trời để nhanh chóng đối tượng mà không kiểm tra quyền truy cập và chạy nhà xây dựng.

Lỗi bạn đang gặp rất có thể do thực tế là không có nhà thầu nào được chạy, bao gồm những người ngầm thiết lập giá trị mặc định trên các trường.

Các vấn đề liên quan