Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.help > #678

Re: Need some in Hibernat

From "Lew" <lew@THRWHITE.remove-9rw-this>
Subject Re: Need some in Hibernat
Message-ID <GZmdndS60oghyXfanZ2dnUVZ_vWtnZ2d@comcast.com> (permalink)
Newsgroups comp.lang.java.help
References <fsdjjk$5e5$1@news.nems.noaa.gov>
Date 2011-05-06 19:52 +0000
Organization TDS.net

Show all headers | View raw


  To: comp.lang.java.programmer
RC wrote:
> Hello there,
> 
> I am new in Hibernate. I look at some examples in Hibernate 3.2
> There is ALWAYS a Long id in a table class, like
> 
> public class State {
>     private Long id; // no such column in my STATE table in database
>     private String state_code; // two-character state code
>     private String state_name;
> 
>     then six pairs of getXXX/setXXX();
> }
> 
> 
> My question is my existing table in database has NO id column.
> I am NOT allow to altering the existed table.
> 
> How do I do the mapping (How do I re-write my XML mapping file)?
> Thank Q very much in advance!

Apply the name attribute of the id tag in the mapping table to whatever the 
primary key actually is.  By defining a generator, you are asking Hibernate to 
generate the primary key for you, obviously not in accordance with the table's 
design.
<http://www.hibernate.org/hib_docs/v3/reference/en/html/mapping.html#mapping-declaration-id> 


If it's a multi-column key, you'd need
<http://www.hibernate.org/hib_docs/v3/reference/en/html/mapping.html#mapping-declaration-compositeid> 


The Hibernate folks suggest:
> There is an alternative <composite-id> declaration to allow access to 
> legacy data with composite keys. We strongly discourage its use for anything else.

I do not get what all this is about "legacy data" and "discourage its use". 
It's quite common and proper for tables to have multi-column keys.

I haven't run across that editorial outlook in JPA articles (Java Persistence 
API), for all that JPA is largely based on Hibernate.

-- 
Lew

---
 * Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24

Back to comp.lang.java.help | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Need some in Hibernate "RC" <rc@THRWHITE.remove-9rw-this> - 2011-05-06 19:52 +0000
  Re: Need some in Hibernat "Lew" <lew@THRWHITE.remove-9rw-this> - 2011-05-06 19:52 +0000
  Re: Need some in Hibernat "RC" <rc@THRWHITE.remove-9rw-this> - 2011-05-06 19:52 +0000

csiph-web