[Lift] Re: JPA find or create new

2008-12-01 Thread Charles F. Munat
Thanks. Types are still largely a mystery to me, but this works just fine. Chas. Derek Chen-Becker wrote: > Because it's type erasure I don't think I can do a generic "new" inside > the methods, but the findOne method does return a Can. That means that > you were actually pretty close in your

[Lift] Re: JPA find or create new

2008-12-01 Thread David Pollak
If you wrap your JPA stuff in a trait like: trait Builder[T] { def create: T } Thus, you've got a type-safe create method... you'd use it like: object UserSingleton extends Builder[User] { def create = new User def user: User = Model.createNamedQuery[User]().findOne openOr create } O

[Lift] Re: JPA find or create new

2008-12-01 Thread Derek Chen-Becker
Because it's type erasure I don't think I can do a generic "new" inside the methods, but the findOne method does return a Can. That means that you were actually pretty close in your demo code. Here's what it could look like: val user: User = Model.createNamedQuery[User]( "findUserByUsername"

[Lift] Re: JPA find or create new

2008-12-01 Thread Charles F. Munat
That will probably work. I was thinking it would be nice to build in a method findOrNew that would do it for me... but it looks like that might involve some sort of implicit manifest thingy, so I don't know. Chas. Viktor Klang wrote: > > > On Mon, Dec 1, 2008 at 7:12 AM, Charles F. Munat <[E

[Lift] Re: JPA find or create new

2008-11-30 Thread Viktor Klang
On Mon, Dec 1, 2008 at 7:12 AM, Charles F. Munat <[EMAIL PROTECTED]> wrote: > > Is there a simple way in JPA/Lift to query to retrieve a single object > from the database, assign it to a val if found, or create a new object > of that type and assign it instead of there is no such object in the > d