2010-10-02 2 views
0

Я разработчик .NET, пытающийся изо всех сил на Java. Мой текущий проект имеет уровень пользовательского интерфейса, уровень бизнес-логики и уровень доступа к данным. В настоящее время я работаю над DAL.Борьба с DataTables в Java

Я еще не подключаюсь к внешней базе данных; Я надеялся, что мои классы DAL будут использовать таблицы данных в памяти, пока БД не будет на месте.

В .NET очень легко сделать in-memory dataTables, выбрать из них, добавить к ним и удалить из них. Но на Java я не смог найти то, что делает то же самое.

Я рассматривал возможность замены «dataTables» на набор строго типизированных объектов; но для этого потребуется добавить ссылки на бизнес-уровень внутри DAL (и я думал, что это не-нет).

Может кто-нибудь помочь запутанному разработчику? Если весь этот подход ошибочен, что бы вы сделали? Если я пропустил эквивалент dataTable в Java - что это?

ответ

1

Here's an article при запуске базы данных Derby в памяти.

Если бы я знал, какую базу данных и какую библиотеку сохранения вы используете, я мог бы дать более точный ответ.

1

Вы можете использовать базу данных памяти, как описано в this answer.

Сравнение различных баз данных памяти показано в this SO question.

1

я рассматривал замену «DataTables» с коллекцией сильно типизированных объектов; но то, что требует добавить ссылки на бизнес слой внутри DAL (и я думал, это было не-нет).

Кто составляет эти правила?

Если ваш уровень доступа к данным отвечает за операции CRUD для объектов модели, мне кажется, что он должен иметь ссылки на них. Это не так.

Уровень сохранения не обязательно должен знать о слоях обслуживания или просмотра.

Единственный полностью несвязанный класс - это тот, который ни с кем не говорит и ничего не предлагает. Это бесполезно.

Не будьте так навязаны «правилам». Вы пытаетесь сложить свое приложение. Вы вкладываете все вещи в упорство в слой классов.

Я не думаю, что база данных в памяти влияет на то, как вы создаете уровень сохранения. Вы должны иметь возможность обмениваться в реляционной базе данных или плоском файле или любом другом механизме, но интерфейс не должен меняться. Это деталь реализации.

0

OR/M были доступны гораздо раньше на Java, чем в .NET. DataSets ошибочны в том, что они заставляют вас программировать процедурно. Попытайтесь взаимодействовать с объектами и позже скопируйте их в БД.