Path: csiph.com!usenet.pasdenom.info!news.albasani.net!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Martin Gregorie Newsgroups: comp.lang.java.programmer Subject: Re: ORMs comparisons/complaints. Date: Thu, 2 Jan 2014 21:00:30 +0000 (UTC) Organization: A noiseless patient Spider Lines: 32 Message-ID: References: <%JGtu.29103$Wm1.26832@fx17.iad> <52b75900$0$9519$9b4e6d93@newsspool1.arcor-online.net> <52c2d520$0$6552$9b4e6d93@newsspool4.arcor-online.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Thu, 2 Jan 2014 21:00:30 +0000 (UTC) Injection-Info: mx05.eternal-september.org; posting-host="e5160e2be48f1ea550cf61512446f525"; logging-data="29160"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+wbd7X5tYJbV6OFQkdZ9wlH6wTmsEVGrY=" User-Agent: Pan/0.139 (Sexual Chocolate; GIT bf56508 git://git.gnome.org/pan2) Cancel-Lock: sha1:PLN3Yl7kqNChpLu9p9VIdY8YFBo= Xref: csiph.com comp.lang.java.programmer:27177 On Thu, 02 Jan 2014 03:57:27 -0400, Arved Sandstrom wrote: > Not entirely sure what you mean here, Marcel. In all seriousness I don't > think I've ever seen anyone normalize or selectively denormalize a data > model at "object level". Apart from that, I'm not quite sure how one > would conveniently normalize data at the object level (presumably > through the ORM) if the data showed up denormalized. > Does he mean near-exclusive use of 3NF? On the occasions when I've stopped at 2NF where the database or 4GL supports that and/or thrown a few derived fields such as account totals etc. into the data model. I've usually regretted it. I seldom find myself mapping data model entities 1:1 onto objects for two reasons: firstly, because after spending quite a bit of time as a DB designer/tuner/developer and writing a fair bit of SQL in the process I tend to think in terms of using JDBC rather than a JPA and partly because about the only times I've needed to handle arrays of objects that represent entities they've ended up as components of an object representing an ordered collection of the components, e.g. the collection of GPS fixes representing a flight path. In these cases, and individual component is of relatively little interest because you want to display or analyze the collection as a whole and/or its an intermediate data store used as part of transforming the collection from one external representation to another. -- martin@ | Martin Gregorie gregorie. | Essex, UK org |