[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| 
Re: [eclipselink-users] Odd use case
 | 
Comment inline:
Laird Nelson wrote:
On Mon, Jul 13, 2009 at 11:47 AM, Tom Ware <tom.ware@xxxxxxxxxx 
<mailto:tom.ware@xxxxxxxxxx>> wrote:
     If I am reading correctly, the relationship between Document and
    GLaAcounts is not fully represented in the database (the
    effectiveDate field is not in any table).  Is that correct?
Yes.  A Document has 4/5 of a foreign key :-) to a GLAccount.  The 
remaining component is a fiscal year.
Under normal circumstances--which these aren't!--I'd introduce a join 
table, that would associate a Document on the "left" side with a 
GLAccount on the "right" side, adding a fiscal year field as an 
additional property of the join relationship (ASCII art follows):
Document      JoinTable      GLAccount
========      =========      =========
pk       <--- docPK         
              four fks  ---> four pks
              fiscal yr ---> fiscal yr
Instead what I have is this (ASCII art):
Document      GLAccount
========      =========
pk            fiscal yr
four fks ---> four pks
...and effectively cannot change the database.
 
    How are GLAAcounts and Documents inserted into the database?  Are
    they read-only?
Nope.
 
    Unless I am mistaken above, I do not think there is anything as
    simple as what you suggest as a solution.  The things that come to
    mind that might help:
    - In JPA you could use named native queries and result set mappings
    to somehow buildyour objects
Yeah; was looking for some sort of sugar to help here.
 
    - EclipseLink allows customization of the queries that are used to
    traverse mapping.  Depending on exactly what you are trying to
    acheive, you may be able to use a DescriptorCustomizer to access the
    query that traverses the Document->GlaAccounts mapping and ammend it
    to accept some additional criteria.
Interesting; will look.
Take a look here:
http://wiki.eclipse.org/Configuring_a_Relational_Descriptor_%28ELUG%29
And look at:
"How to Configure Custom SQL Queries for Basic Persistence Operations Using Java"
In that section, there are some pointers to the methods you might use to use a 
SQL String.  In addition to that you should be able to use the getter methods 
(like getReadAllQuery()) to get a handle on the EclipseLink query object - which 
can then be changed if necessary.
The trick is going to be how to get the fiscal year data into those queries.
-Tom
Thanks,
Laird
------------------------------------------------------------------------
_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users