Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!feeder2.ecngs.de!ecngs!feeder.ecngs.de!Xl.tags.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!local2.nntp.ams.giganews.com!nntp.bt.com!news.bt.com.POSTED!not-for-mail NNTP-Posting-Date: Fri, 03 Jan 2014 09:38:41 -0600 From: "Chris Uppal" Newsgroups: comp.lang.java.programmer References: <%JGtu.29103$Wm1.26832@fx17.iad> <52b75900$0$9519$9b4e6d93@newsspool1.arcor-online.net> Subject: Re: ORMs comparisons/complaints. Date: Fri, 3 Jan 2014 15:38:10 -0000 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5512 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5512 X-RFC2646: Format=Flowed; Response Message-ID: Lines: 46 X-Usenet-Provider: http://www.giganews.com X-AuthenticatedUsername: NoAuthUser X-Trace: sv3-mAo1lHISMV2W2FplRvr5mUp0emWMkQRyc+NYBkcDKsrsoEZhIIOx/o1IXNtF5NwJ4P/R3nlGad/gBK1!IzTuMdjOMC6os3uTiuyg75F4GoA9BdVzyj1ojehwMC0LF0h0vtUGaYcrmAyoV0SH8GYPNP9La5U= X-Complaints-To: abuse@btinternet.com X-DMCA-Complaints-To: abuse@btinternet.com X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly X-Postfilter: 1.3.40 X-Original-Bytes: 3039 Xref: csiph.com comp.lang.java.programmer:27203 Marcel Müller wrote: > [...quite a bit of interesting stuff...] Choosing this as a more-or-less arbitrary point to jump in, I have a question. Given an existing relational database (or set of databases) that: !) Is/are central to the business (i.e. not there just to "support" some specific activity). 2) Is a fairly good relational expression of the underlying business model (but see (3) and (7)). 3) Is old, old, old... 4) Is used by more than one application, which are not all written in the same language 5) Has severe perfomance problems (caused by the nature of rhe business) even when accessed via had-written SQL such that there is a fairly large amount of explicit demnormalisation, and the write-measure-rewrite loop is a central part of normal, everyday, application development/maintenance. And, even so, many of the most important processes take long enough to cause very real operational difficulties for customers. 6) Is not simple, in the sense that most of the "entities" that a user would think in terms of do not correspond to rows of data in single tables. 7) Has historical quirks (see 3). Such as: no primary keys (the data has primary keys at the logical level, but -- due to history -- the physical DBMS itself doesn't know what they are, it just knows about a buch of unique indexes). No FK constraints (again they are there in the logical model, but not expressed physically). Is my feeling that even attempting to use an ORM for developing brand new applications against the database would be impossible and/or massively counter-productive, actually defensible ? I.e: am I right to dismiss ORM /out of hand/ ? (Incidentally, of the relatively few database I've come across in 30 years of programming, many fit that pattern). -- chris