You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@wicket.apache.org by JASON HOLT <j_...@msn.com> on 2012/05/08 22:35:08 UTC

Persistence.




I'll repeat my plea for patience as I'm new to Java and Wicket, but have some minimal experience with ASP.net forms (not MVC). I've reached that point in the learning process where I want to interact with a database and I wish to use entities and Hibernate to make it easier. From what I've seen in various blogs and forums, some say you shouldn't use entities as models, yet others do it with LDMs. Since I'm taking baby steps, I want to start by using entities as models, unless someone convinces me I'm wasting my time. Following the basic Hibernate tutorials for persisting simple classes, I've managed to make the following work in Wicket. In the LDM load... @Override
public Person load()
{
   Session session =  WicketApp.sessionFactory.openSession();
   session.beginTransaction();
   Person person = (Person) session.get(Person.class, 1L);
   session.getTransaction().commit();
   session.close();
   return person;
} In the form I update the evil entity model with text boxes, using a CPM containing the LDM. In the submit button... public void onSubmit()
{
   Session session = WicketApp.sessionFactory.openSession();
   session.beginTransaction();
   session.update(ldm.getObject());
   session.getTransaction().commit();
   session.close();   this.setResponsePage(EndPage.class);
} The sessionFactory is a static member of the WicketApp application class, initialized in the init() method. This seems to work, but I suppose there are all kinds of faulty design patterns used here. My main concern is... how can I do this without opening a new Hibernate session in onSubmit()? During postback, I think I should be able to reuse the same session opened at ldm.load() in onSubmit() also, as it all occurs in the same request. Is this possible? Thanks for your assistance. Please feel free to point out every flaw. 		 	   		  

Re: Persistence.

Posted by James Carman <ja...@carmanconsulting.com>.
You should take a look at some of the RAD tools for persistence with
Wicket.  I wrote a library called Wicketopia that can probably help
you get started.

On Tue, May 8, 2012 at 4:35 PM, JASON HOLT <j_...@msn.com> wrote:
>
>
>
>
> I'll repeat my plea for patience as I'm new to Java and Wicket, but have some minimal experience with ASP.net forms (not MVC). I've reached that point in the learning process where I want to interact with a database and I wish to use entities and Hibernate to make it easier. From what I've seen in various blogs and forums, some say you shouldn't use entities as models, yet others do it with LDMs. Since I'm taking baby steps, I want to start by using entities as models, unless someone convinces me I'm wasting my time. Following the basic Hibernate tutorials for persisting simple classes, I've managed to make the following work in Wicket. In the LDM load... @Override
> public Person load()
> {
>   Session session =  WicketApp.sessionFactory.openSession();
>   session.beginTransaction();
>   Person person = (Person) session.get(Person.class, 1L);
>   session.getTransaction().commit();
>   session.close();
>   return person;
> } In the form I update the evil entity model with text boxes, using a CPM containing the LDM. In the submit button... public void onSubmit()
> {
>   Session session = WicketApp.sessionFactory.openSession();
>   session.beginTransaction();
>   session.update(ldm.getObject());
>   session.getTransaction().commit();
>   session.close();   this.setResponsePage(EndPage.class);
> } The sessionFactory is a static member of the WicketApp application class, initialized in the init() method. This seems to work, but I suppose there are all kinds of faulty design patterns used here. My main concern is... how can I do this without opening a new Hibernate session in onSubmit()? During postback, I think I should be able to reuse the same session opened at ldm.load() in onSubmit() also, as it all occurs in the same request. Is this possible? Thanks for your assistance. Please feel free to point out every flaw.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Re: Persistence.

Posted by "Richard W. Adams" <RW...@UP.COM>.
Gosh, you can use Hibernate if you want, but I write plain DAO classes 
with JDBC & Wicket & they work just fine. No fuss, no muss. Just my take 
on it, though. I know there are some that like Hibernate. But try as I 
might, I've never been able to justify yet another third party library for 
my needs.

"There are three kinds of lies: lies, damn lies, and statistics."
Benjamin Disraeli

"Then there was the man who drowned crossing a stream with an average 
depth of six inches."
W. I. E. Gates




From:   JASON HOLT <j_...@msn.com>
To:     <us...@wicket.apache.org>
Date:   05/08/2012 03:37 PM
Subject:        Persistence.







I'll repeat my plea for patience as I'm new to Java and Wicket, but have 
some minimal experience with ASP.net forms (not MVC). I've reached that 
point in the learning process where I want to interact with a database and 
I wish to use entities and Hibernate to make it easier. From what I've 
seen in various blogs and forums, some say you shouldn't use entities as 
models, yet others do it with LDMs. Since I'm taking baby steps, I want to 
start by using entities as models, unless someone convinces me I'm wasting 
my time. Following the basic Hibernate tutorials for persisting simple 
classes, I've managed to make the following work in Wicket. In the LDM 
load... @Override
public Person load()
{
   Session session =  WicketApp.sessionFactory.openSession();
   session.beginTransaction();
   Person person = (Person) session.get(Person.class, 1L);
   session.getTransaction().commit();
   session.close();
   return person;
} In the form I update the evil entity model with text boxes, using a CPM 
containing the LDM. In the submit button... public void onSubmit()
{
   Session session = WicketApp.sessionFactory.openSession();
   session.beginTransaction();
   session.update(ldm.getObject());
   session.getTransaction().commit();
   session.close();   this.setResponsePage(EndPage.class);
} The sessionFactory is a static member of the WicketApp application 
class, initialized in the init() method. This seems to work, but I suppose 
there are all kinds of faulty design patterns used here. My main concern 
is... how can I do this without opening a new Hibernate session in 
onSubmit()? During postback, I think I should be able to reuse the same 
session opened at ldm.load() in onSubmit() also, as it all occurs in the 
same request. Is this possible? Thanks for your assistance. Please feel 
free to point out every flaw.  


**

This email and any attachments may contain information that is confidential and/or privileged for the sole use of the intended recipient.  Any use, review, disclosure, copying, distribution or reliance by others, and any forwarding of this email or its contents, without the express permission of the sender is strictly prohibited by law.  If you are not the intended recipient, please contact the sender immediately, delete the e-mail and destroy all copies.
**