Начало работы с калиткой и Hibernate - PullRequest
1 голос
/ 20 марта 2012

Я новичок в Wicket и Hibernate.Я смотрел видео на YouTube и читал некоторые главы о Hibernate.У меня все еще есть вопрос, который мне нужно знать, прежде чем я смогу использовать Hibernate:

В калитке у нас есть Application.java (для всех общих вещей) и Java-файл для каждой «страницы» в приложении,например, login.java, register.java и т. д. Что должно быть в Application.java и какова хорошая практика программирования при использовании Hibernate в Wicket?

Все примеры, которые я видел, встречаются с другими средами, такими как Wicket togheter.с Spring или примерами, использующими только один файл, Application.java fil.Думаю, я смущен и действительно пропускаю пример, использующий хотя бы Application.java, один файл класса и один файл .java для функции som, такой как сохранение форм, получение базы данных и т. Д.

Я не знаю, важно ли это, но яиспользование Netbeans в этом проекте.

Любые советы приветствуются

Ответы [ 4 ]

2 голосов
/ 20 марта 2012

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

В этом случае это означает, что вы должны поместить логику инициализации, связанную с Wicket, в свой класс Application (точнее, WebApplication , поскольку вам не рекомендуется напрямую создавать подклассы Application ) и сохранить постоянство. связанная логика в ваших DAO (желательно хорошо инкапсулированная в сервисный уровень).

Более подробную информацию о шаблоне DAO можно найти в Шаблоне DAO и о сохранении транзакций на основе Wicket, Spring и Hibernate здесь

1 голос
/ 20 марта 2012

Вы должны создать DAO-класс с основными функциями (получение, сохранение, обновление объектов) и создать экземпляр в классе WebApplication.Например, у вас есть:

public class WebApp extends WebApplication {

    private final MyDAO myDAO = new MyDAO();
    public MyDAO getMyDAO() {
       return myDAO;
    }
    init(){
        ...
    }
    ...
}

, и в классах страниц вы можете получить этот экземпляр, используя

  ((WebApp)Application.get()).getMyDAO()

PS

И, пожалуйста, не используйте дополнительный компонент.только спящий + калитка.Я согласен с Паартом, если вы не знаете калитку и спящий режим, вам следует начать с крошечного тестового проекта для калитки и спящего режима

0 голосов
/ 20 марта 2012

Для реализации Wicket с Hibernate, взгляните на Databinder (http://github.com/n8han/Databinder-for-Wicket/). Это отличный тонкий слой между Wicket и Hibernate (среди других обработчиков данных).

Однако ядро ​​Databinder былонаписан для чего-то вроде Wicket 1.2 и не обновлялся в течение достаточно долгого времени. Некоторые люди говорят, что собираются обновить его (включая меня), а они нет.

Итак, Databinder - отличная модельо том, как использовать Wicket и Hibernate. Однако на практике у него есть несколько недостатков, которые необходимо устранить.

Для быстрого исправления, посмотрите Databinder версии 1.3.2.CAST на http://comp.cast.org/maven2/что по крайней мере приводит Databinder в соответствие с последним Hibernate.

Для сложной и неполной, но мощной реализации этого кода, см. http://code.google.com/p/cast-wicket-modules/

Для завершенного проекта, использующего эти модулисм. https://code.google.com/p/udl-curriculum-toolkit/

Все эти ссылки находятся в стадии разработки, но с чего начать.

0 голосов
/ 20 марта 2012

В этом случае, если вы новичок в Hibernaet и Wicket, попробуйте учиться один за другим.

Сделайте несколько демонстрационных / POC-проектов для Hibernate с помощью простой Java-программы. Тогда иди на калитку, сделай демо об этом тоже.

Затем создайте небольшое веб-приложение, интегрирующее Hibernate и Wicket, как вы узнали.

Тебе должно быть легко, тщательно.

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

...