openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexander Saint Croix" <saintx.opensou...@gmail.com>
Subject Panaki: your blog entry on persisting a generic graph
Date Sun, 13 Jan 2008 00:07:57 GMT
Panaki,

I read your blog entry on persisting a generic graph and am very interested
in using something similar to this for some of my entities.

The pattern I'm looking to do is something like the following:

@MappedSuperclass
> public abstract class Foo implements Serializable {
>     @Id
>     private long id;
>
>     public long getId() { return id; }
>     public void setId(long id) { this.id = id; }
>
>     public void doStuff() {
>         // stuff.  very abstract, to be sure.
>     }
> }
>
> @Entity
> public class ConcreteFoo extends Foo {
>     public void doConcreteStuff() {
>         // more concrete stuff
>     }
> }
>
> @Entity
> public class OtherFoo extends Foo {
>     public void doOtherStuff() {
>         // more concrete stuff
>     }
> }
>
> @Entity
> public class Funk<F extends Foo> {
>     private F foo;
>
>     public F getFoo() { return foo; }
>
>     public void setFoo(F foo) { this.foo = foo; }
> }
>

The idea would be to allow client code to create "new Funk<ConcreteFoo>()"
and work with the class in a simpler fashion.  (think Foo == Party,
ConcreteFoo == Person, OtherFoo == Organization and Funk ==
PartyRelationship for more of a sense what I'm going for here.)

Does this make sense and is it possible?  In your blog entry you mention the
@Type annotation.  Can't find references to it anywhere so thought I'd ask
the expert.

Cheers!
--
Alexander R. Saint Croix

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message