Re: Lookup tables

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Thu Dec 21 2006 - 01:49:04 EST

  • Next message: Andrus Adamchik: "Re: Lookup tables"

    Yeah - creating a separate entity for Status and a simple one-to-many
    relationship between Project and Status'es should solve the problem:

    Project
       String projectName
       Status status

    Status
       String statusName
       List projects

    While you (Terry - the original poster) may want to choose Cayenne
    over Hibernate for a number of other reasons, in this particular case
    I think both Cayenne and Hibernate offer the same standard solution.

    Cheers,
    Andrus

    On Dec 21, 2006, at 5:53 AM, Michael Gentry wrote:

    > Making a getStatusName() and even a setStatusName() is fine for
    > conveniently getting the status name (and not needing a local
    > statusName instance variable), but if you need to use statusName in a
    > query, that won't do what you want -- you still need to specify the
    > relationships. Also, you had mentioned sorting. What exactly do you
    > need? There are various ways of sorting things in Cayenne.
    >
    > /dev/mrg
    >
    >
    > On 12/20/06, Aristedes Maniatis <ar..sh.com.au> wrote:
    >>
    >> On 21/12/2006, at 11:34 AM, Terry Jeske wrote:
    >>
    >> > I have a project object as with the following variables:
    >> >
    >> > Project.java
    >> > ---------------------------------
    >> > int id
    >> > String projectName
    >> > String statusName
    >> >
    >> > Hibernate does not support this, and to get around it I have had to
    >> > create a
    >> > view that hibernate pulls from. We like having the status_table
    >> > look-up
    >> > because it makes it easy to return sorted lists of projects, while
    >> > giving us
    >> > the freedom to change status text.
    >>
    >>
    >> Put this in Project.java if you want a convenience method for this
    >> purpose.
    >>
    >> public String getStatusName() {
    >> return getStatus().getName();
    >> }
    >>
    >>
    >> Ari Maniatis
    >>
    >> -------------------------->
    >> ish
    >> http://www.ish.com.au
    >> Level 1, 30 Wilson Street Newtown 2042 Australia
    >> phone +61 2 9550 5001 fax +61 2 9550 4001
    >> GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A
    >>
    >>
    >>
    >>
    >>
    >



    This archive was generated by hypermail 2.0.0 : Thu Dec 21 2006 - 01:49:35 EST