2012-03-20 47 views
1

我是Wicket和Hibernate的新成员。我观看了YouTube视频并阅读了关于Hibernate的som章节。我仍然有一个问题,我需要知道我能够使用休眠之前:wicket和Hibernate入门

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

我看过的所有例子都是与其他框架一起使用的,例如Wicket使用spring来实现,或者只使用一个文件Application.java fil。 Gess Im comfused,真的错过了一个例子,至少使用Application.java,一个类文件和一个.java文件来保存som功能,比如保存表单,回收db等等。

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

任何提示欢迎

回答

2

在我看来,最好的办法就是保持持久层从表现层离(为了获得清晰的MVC架构)。

在这种情况下,这意味着你应该把你的检票相关初始化逻辑在你的应用类(更具体WebApplication,由于要从直接子类Application气馁),并把持久性相关的逻辑在DAO-S(优选阱包封在服务层中)。

您可以找到有关在DAO Pattern和有关基于事务的持久性与检票,春季DAO模式的更多信息和Hibernate here

+0

我确实有使用Wicket-Spring-Hibernate的som示例。我确实读过它们,但它们与没有Spring的例子截然不同。 – Aurheim 2012-03-20 11:30:46

+0

春天会让应用程序“变胖”吗?在一个拥有10个小页面的项目中使用它会不会是过度的?我需要了解很多关于Spring的知识,并且以后会付钱吗?这可能是明智的使用春天,但到目前为止,我还没有看到为什么... – Aurheim 2012-03-20 11:33:53

+0

它不会,自3.0版以来,春是大大模块化,从而使您的应用程序“苗条”:)我建议学习春天(至少是基础知识),因为它解决了大多数日常任务,而且学习起来还是很容易的。 – xea 2012-03-20 15:14:33

0

在这种情况下,如果你是新来都Hibernaet &检票,尝试学习一个后另一个。

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

然后制作一些小型的Web应用程序,将Hibernate和Wicket集成在一起,就像您所了解的那样。

你应该很容易,彻底。

如果你的OOP概念清晰,Hibernate应该是非常容易的。我不知道Wicket,所以不能说。

+0

是的,明智的做法是将事物分开并一点一点地研究它。我一直在玩Wicket一段时间,所以我开始构建一个应用程序,他将使用表单和表来存储和检索数据库中的信息。这些概念似乎很清楚,Hibernate有很多资源需要在停滞时进行研究。它只是错过了通知什么时使用多个页面进行编程。我已经找到了wicket-spring-hibernate的例子,并且会试图从它们中找出哪些代码的klines代码在哪里:-) – Aurheim 2012-03-20 11:39:50

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/

所有这些环节都在进步的作品,但开始的地方。

1

您应该创建带有主函数(geting,save,更新对象)的DAO类并在WebApplication类中创建实例。例如,你有:

public class WebApp extends WebApplication { 

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

,并在页面类你可以使用

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

附注:此实例

请不要使用额外的组件..只有hibernate + wicket。我同意帕斯,如果你不知道检票和冬眠你应该从微型测试项目开始检票和冬眠

+0

使用DAO - 类文件使得它很容易在其他应用程序中重用DAO类。如果我正确理解了这一点,我应该在Application.java中创建一个对象,然后将此对象的refference传递给需要使用它的任何页面。让我思考的时候会感到很开心。谢谢 :-) – Aurheim 2012-03-20 18:32:34