2013-07-10 1 views
0

У меня есть список штатов/округов, их соответствующие записи и каждый цитирует соответствующие города.БД-память для предоставления результатов автоматического подсчета пользователям

- State1 
    - City1 
    - Town1 
    - Town2 
    ... 
    - City2 
    ... 

Мне нужен способ их хранения в рамках моего веб-приложения для предприятий.

Отношения между объектами должны поддерживаться, т. Е. Города принадлежат городу, а города принадлежат государству/округу.

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

Это могут быть случайные изменения, которые необходимо обновить (возможно, довольно редко).

Так, например:
- Пользователь выбирает состояние1 из раскрывающегося списка.
- Теперь они вводят charchters 'san' в поле ввода города.
- Я хотел бы выполнить поиск и вернуть список городов, начинающихся с 'san' в state1. (Запрос Ajax).

Я ищу отзывы от людей, которым, возможно, пришлось реализовать нечто подобное этому раньше.

Вы использовали встроенную базу данных, такую ​​как HSQL?

ответ

1

Да, я использовал HSQL для подобных вещей раньше. Работает хорошо. Определите свои ссылочные данные в виде набора инструкций вставки SQL и запустите сценарий создания схемы, а также вставки справочных данных при запуске приложения.

Spring теперь имеет довольно хорошую поддержку для встраиваемых баз данных:
http://static.springsource.org/spring/docs/3.2.x/spring-framework-reference/html/jdbc.html#jdbc-embedded-database-support

<jdbc:embedded-database id="dataSource"> 
    <jdbc:script location="classpath:schema.sql"/> 
    <jdbc:script location="classpath:reference-data.sql"/> 
</jdbc:embedded-database> 

Затем использовать определенный выше DATASOURCE так же, как и любой другой БД, и может переключаться между реальной БД в будущем, если необходимо, не влияя на какой-либо код.

+0

Хорошо выглядит Кейт. Теперь мне нужно уговорить силы, чтобы выделить время для обновления нашего приложения с весны 2.5 до 3.2.x! Насколько это легко реализовать весной 2.5? –

+0

Это очень легко с любой версией Spring. Просто укажите 'jdbc: hsqldb: mem: anyname' как URL-адрес базы данных. – fredt

0

Вы можете использовать сервер поиска между ними? У меня было аналогичное требование в корпоративной системе и я использовал Apache Solr (поисковый сервер на основе Lucene). Конфигурация Solr имела параметры для синтаксического анализа базы данных и хранения индексированной коллекции данных. Из пользовательского интерфейса запрос Ajax (подавление дросселирования до 2 алфавитов нажимается по крайней мере) вызывает API для Solr.

Этот набор дал мне удивительно быстрые результаты.

+0

Я рассматривал этот Sandeep, но считал, что это решение может быть излишним для относительно небольшого набора данных. Мы говорим о нормализованном наборе данных около 2000 строк. В реляционной БД будет три таблицы с примерно 15, 40 и 700 строк соответственно. –

Смежные вопросы