开始使用wicket和Hibernate

时间:2012-03-20 10:42:16

标签: java hibernate wicket

我是Wicket和Hibernate的新手。我观看过youtube视频并阅读有关Hibernate的som章节。在我能够使用Hibernate之前,我还有一个我需要知道的问题:

在wicket中,我们在应用程序中有Application.java(用于所有常见的东西)和一个用于eache“page”的java文件,例如login.java,register.java等。应该在Application.java中使用什么以及什么在Wicket中使用Hibernate是一种很好的编程习惯吗?

我见过的所有例子都是其他框架,如Wicket togheter with Spring或仅使用一个文件的示例,即Application.java文件。 Gess Im很好地错过了一个例子,至少使用了Application.java,一个类文件和一个.java文件用于som函数,比如保存表单,重新启动db等。

我不知道它是否重要,但我在这个项目中使用Netbeans。

欢迎任何提示

4 个答案:

答案 0 :(得分:2)

在我看来,最好的方法是让持久层远离表示层(为了实现干净的MVC架构)。

在这种情况下,这意味着您应该将与Wicket相关的初始化逻辑放在Application类中(更具体地说是WebApplication,因为不鼓励直接继承Application)并将持久性相关的逻辑放在你的DAO-s(最好封装在服务层中)。

您可以在DAO Pattern中找到有关DAO模式的更多信息,以及有关Wicket,Spring和Hibernate的基于事务的持久性here

答案 1 :(得分:1)

您应该创建具有主要功能(创建,保存,更新对象)的DAO类,并在WebApplication类中创建实例。例如,你有:

public class WebApp extends WebApplication {

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

在页面类中,您可以使用

获取此实例
  ((WebApp)Application.get()).getMyDAO()

P.S。

请不要使用额外的组件..只有hibernate + wicket。我同意Paarth,如果你不知道wicket和hibernate你应该从wicket和hibernate的小测试项目开始

答案 2 :(得分:0)

在这种情况下,当你不熟悉Hibernaet& Wicket,尝试一个接一个地学习。

使用Simple Java程序为Hibernate制作一些demo / POC项目。 然后继续Wicket,也做一些演示。

然后制作一些小型Web应用程序,将Hibernate和Wicket集成在一起,如您所知。

你应该轻松​​,彻底。

如果你的OOP概念很清楚,那么Hibernate应该很容易。我不知道Wicket,所以不能说它。

答案 3 :(得分:0)

要使用Hibernate实现Wicket,请查看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/

所有这些链接都在进行中,但却是一个可以开始的地方。