cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aristedes Maniatis <...@maniatis.org>
Subject Re: Entity Attribute Value model with Cayenne?
Date Mon, 23 Aug 2010 23:03:48 GMT
On 24/08/10 1:06 AM, Robert Zeigler wrote:
> Main Entity ->  Map relationship of value entities.  Each value entity has a to-one
relationship to the attribute descriptor table.
> One thing you might consider doing in your attribute descriptor table is to make the
"type" be a java enum;

There is (was?) an issue in Cayenne with using enum as an entity discriminator (that it, as
the way to create Cayenne inheritance). So if your model ends up with inheritance based on
this field, make sure it is string or int.

So, say you have this db structure:

Attribute
  - id
  - name

AttributeValue
  - attribute_id
  - value
  - entity

Then you could map that with inheritance like this:

AttributeValue  (superclass)
  attr: attribute_id
  attr: value
  attr: entity (used as discriminator)

PaintingAttributeValue (subclass)
  relation:-> Painting

ArtistAttributeValue (subclass)
  relation: -> Artist


Naturally you'd add to your Attribute table all sorts of validation definitions. You might
want to restrict values to be numerical (but you are still storing them in the db as blob
or string). Or restrict the entry length.

Cheers

Ari

-- 
-------------------------->
Aristedes Maniatis
GPG fingerprint CBFB 84B4 738D 4E87 5E5C  5EFA EF6A 7D2E 3E49 102A

Mime
View raw message