Nhiều lần tôi muốn có cấu trúc dữ liệu tương tự như Bảng SQL nơi bạn có thể chọn trên nhiều trường và nhiều trường khác nhau. Tương tự như việc thực hiện SQL trong bộ nhớ ngoại trừ việc tôi không muốn lưu trữ nhiều đối tượng đó trong cấu trúc dữ liệu.Java trong bộ nhớ SQL Bảng giống như cấu trúc dữ liệu
Tôi cũng yêu cầu đối tượng được tuần tự hóa thông qua các phương tiện Java chuẩn.
Tôi đã thực hiện việc này trước với nhiều bảng băm hoặc khóa băm tùy chỉnh nhưng kết quả là rất nhiều mã và rất cụ thể vấn đề.
Tôi cũng đã sử dụng Groovy với khả năng đóng và đường dẫn để trợ giúp nhưng tôi không luôn có sẵn (các dự án khác nhau).
EDIT: Tôi nghĩ vấn đề của tôi là nhiều hơn một vấn đề đối tượng traversal/lựa chọn Dưới đây là một số dự án thú vị:
- http://josql.sourceforge.net/
- http://homepages.mcs.vuw.ac.nz/~djp/JQL/
- http://today.java.net/pub/a/today/2006/08/03/java-object-querying-using-jxpath.html
- http://code.google.com/p/lambdaj/ (tôi đã sử dụng điều này trong quá khứ và nó đã ... chậm ...)
- http://jedi.codehaus.org/ Jedi
Tuy nhiên, nhược điểm của hầu hết các dự án này là chậm hơn nhiều so với truy cập trực tiếp đối tượng (không phản chiếu) và chắc chắn chậm hơn chỉ mục (băm).
Bạn sẽ truy vấn một số ảnh chụp độc lập của dữ liệu? Điều gì về đa luồng, khóa, giao dịch, chèn/cập nhật? Nếu bất kỳ điều nào ở trên có thể xảy ra - tôi sẽ đồng ý với @Alex 100%. – Osw
@Osw Không có điều này hoàn toàn thuận tiện. Tôi không cần bản chất ACID của RDBMS. Tôi cần khả năng truy vấn. –
nghĩ rằng các liên kết này có thể hữu ích: http://docs.jboss.org/hibernate/core/3.3/reference/en/html/queryhql.html và http://almaer.com/blog/hibernate-3-testing- with-in-memory-pluggable-persistence – Osw