![]() | |
#21
| |||
| |||
|
|
On Sun, 2 Jan 2005 18:00:15 +0800, Robert kebernet Cooper wrote (in article <1104660015.626693.96680 (AT) z14g2000cwz (DOT) googlegroups.com>): steve wrote: Hi, Recently I have been looking at the various ways people are implementing, interaction between java & oracle databases. I have seen people Serializing java objects , such as purchase orders orders, customer records etc , then sticking the "object" into am oracle blob column. These people are nearly all morons and should be first against the wall when the revolution comes. I'm looking to implement a java front end, (oracle back end), system ,that allows a product , to be inspected by an inspection team , and comments/ photographic record kept. using an "object approach" would make it very simple, but the size of the resulting object could be very large. does anyone have any thoughts how to accomplish this task. steve Look into using Hibernate or Castor. They are much better solutions. CMP EEJBs are kinda sorta OK, but not really. Until EJB 3.0 is available, I still avoid them like the plague. looked at hibernate, it seems to do mostly what I want, but it's another thing I would have to learn. Castor , didn't seem to fair too well , it get's a real slagging down in various places on the net , seems some people are distinctly un-happy with it. steve |
#22
| |||
| |||
|
|
DA Morgan <damorgan@x.washington.edu> wrote in news:41d8219f$1_1 (AT) 127 (DOT) 0.0.1: [snip] It is true. Most of the Java being written against relational databases doesn't perform and doesn't scale well. [snip] Thats a pretty broad brush you're painting with. Do you have some numbers on which your are basing this claim? It also gives the impression that performance is the most important element of software development, which is certainly not always true. Chas Douglass |
#23
| |||
| |||
|
|
Chas Douglass wrote: DA Morgan <damorgan@x.washington.edu> wrote in news:41d8219f$1_1 (AT) 127 (DOT) 0.0.1: [snip] It is true. Most of the Java being written against relational databases doesn't perform and doesn't scale well. [snip] Thats a pretty broad brush you're painting with. Do you have some numbers on which your are basing this claim? It also gives the impression that performance is the most important element of software development, which is certainly not always true. Chas Douglass Very broad ... and I intentionally said "most" rather than "all" because there is some very good Java being written too. My assessment comes from two sources: The consulting work I have done for a number of Fortune 500 size corporations, and government agencies, in the last 5 years. Much of my time has been spent teaching Java developers that the database is not a bucket full of stuff. Their ignorance leads them too far too often reinvent the wheel or insist on stupid stuff such as XML stored as XML rather than being reconstituted on-the-fly. The other source of my broad brushstroke is teaching at the University of Washington where I regularly get students whose prior experience is Java and whose CIO or IT manager has sent them to learn something about the database. They may be very good at their primary job ... but their profound ignorance of databases is amazing. |
|
Addressing your second comment I would not say that performance and scalability are the most important attributes of a program. But when the database is capable of returning a result set in less than a second and the Java developer getting the same result set uses a method that takes 1-5 seconds there is a major problem and not just to the end-user. Often management ends up purchasing far more expensive hardware to compensate for bad design, bad implementation, and a lack of experience. |
|
Let me give you some simple examples related to Oracle since that is where this has been cross-posted. How many Java developers in your organization know about the following? EXPLAIN PLAN TKPROF TRACE ANALYZER Bind Variables Multiversion Read Consistency Stored Outlines Hints And that is just the tip of the iceberg. The answer, undoubtedly, is a very small number. And yet no serious Oracle DBA or developer would consider doing much without one or all of them. |
#24
| ||||||||
| ||||||||
|
|
Pardon my skepticism, but this could easily be a self-selecting sample, could it not? |
|
Aren't you hired as a consultant by companies that have problems in your area of expertise (which appears to be DB's)? Aren't your students coming to you for that expertise? |
|
This appears to be similar to the classic case of the psychiatrist that declared that "most people" had psychological problems -- based on his experience that most of his patients were, well, crazy. |
|
Of course, this doesn't mean you are wrong. But it does differ from my experience -- which is also clearly anecdotal. |
|
There are way too few controlled studies in life. To me, even an assertion of "most" requires some verification of the methodology and population. |
|
Addressing your second comment I would not say that performance and scalability are the most important attributes of a program. But when the database is capable of returning a result set in less than a second and the Java developer getting the same result set uses a method that takes 1-5 seconds there is a major problem and not just to the end-user. Often management ends up purchasing far more expensive hardware to compensate for bad design, bad implementation, and a lack of experience. If this query occurs once every day, is it still a "major problem"? What about once a week? |
|
Let me give you some simple examples related to Oracle since that is where this has been cross-posted. How many Java developers in your organization know about the following? EXPLAIN PLAN TKPROF TRACE ANALYZER Bind Variables Multiversion Read Consistency Stored Outlines Hints And that is just the tip of the iceberg. The answer, undoubtedly, is a very small number. And yet no serious Oracle DBA or developer would consider doing much without one or all of them. If your point is that any large development project would benefit from expertise in the specific database to be used -- that is pretty hard to disagree with. If your point is that every Java programmer needs to be an expert in that database -- I would definitely disagree. Hey, it might be nice, but this is the real world. |
|
(Should we drop comp.databases.oracle from followups? I'm not sure this discussion is relevant there any longer. I'm reading this in c.l.j.p but I don't know where you are reading it.) Chas Douglass |
#25
| |||||
| |||||
|
|
Chas Douglass wrote: [snip stuff I agree with] |
|
There are way too few controlled studies in life. To me, even an assertion of "most" requires some verification of the methodology and population. If I were publishing in a peer reviewed journal I would agree. This is the usenet and we are usually grateful if the post isn't rude, obscene, or spam. |
|
Addressing your second comment I would not say that performance and scalability are the most important attributes of a program. But when the database is capable of returning a result set in less than a second and the Java developer getting the same result set uses a method that takes 1-5 seconds there is a major problem and not just to the end-user. Often management ends up purchasing far more expensive hardware to compensate for bad design, bad implementation, and a lack of experience. If this query occurs once every day, is it still a "major problem"? What about once a week? No such query. Objective research by Oracle and IBM have both shown that the average database hosts, at most, a few hundred unique queries in the lifetime of an application: Rarely are there unique queries except during development. |
|
Let me give you some simple examples related to Oracle since that is where this has been cross-posted. How many Java developers in your organization know about the following? EXPLAIN PLAN TKPROF TRACE ANALYZER Bind Variables Multiversion Read Consistency Stored Outlines Hints And that is just the tip of the iceberg. The answer, undoubtedly, is a very small number. And yet no serious Oracle DBA or developer would consider doing much without one or all of them. If your point is that any large development project would benefit from expertise in the specific database to be used -- that is pretty hard to disagree with. If your point is that every Java programmer needs to be an expert in that database -- I would definitely disagree. Hey, it might be nice, but this is the real world. An expert no. But would you let your psychiatrist set a broken leg? They are both MD's. Would you let your auto mechanic work on a Boeing 777 in which you were about to fly to across the Atlantic? They are both mechanics? So while not an expert knowedgeable enough to be competent. |
|
(Should we drop comp.databases.oracle from followups? I'm not sure this discussion is relevant there any longer. I'm reading this in c.l.j.p but I don't know where you are reading it.) Chas Douglass I am reading in the Oracle group but it should be noted that last year I taught a JDeveloper class here at the U with one of the people that helped write Hibernate. So I know my way, reasonably well, around Java too. |
#26
| ||||||||
| ||||||||
|
|
Addressing your second comment I would not say that performance and scalability are the most important attributes of a program. But when the database is capable of returning a result set in less than a second and the Java developer getting the same result set uses a method that takes 1-5 seconds there is a major problem and not just to the end-user. Often management ends up purchasing far more expensive hardware to compensate for bad design, bad implementation, and a lack of experience. If this query occurs once every day, is it still a "major problem"? What about once a week? No such query. Objective research by Oracle and IBM have both shown that the average database hosts, at most, a few hundred unique queries in the lifetime of an application: Rarely are there unique queries except during development. I see your point, and even though my comment was somewhat hyperbolic, it is still not out of the question for any single query to be both in-the- set-of-a-few-hundred-unique-queries and also only-run-once-a-day (backup?). |
|
An expert no. But would you let your psychiatrist set a broken leg? They are both MD's. Would you let your auto mechanic work on a Boeing 777 in which you were about to fly to across the Atlantic? They are both mechanics? So while not an expert knowedgeable enough to be competent. I think your analogy works against you. Do I care if my family physician can read the MRI of my head and spot a brain tumor, as long as an expert does read it? |
|
Do I care if any particular Java programmer is an Oracle expert, as long as I have an Oracle DBA on board with appropriate design/review responsibilities? |
|
Certainly, my physician must be broadly trained enough to know to request an MRI and an expert reading. And any Java programmer should be trained broadly enough to know when to ask their DBA for help. |
|
I would argue that having a problem domain expert (for instance, an Oracle DBA) is not just a great idea, but a requirement for any non- trivial database program. |
|
I would also argue that, in the real world, we're not going to hire a whole team of Java/Oracle experts. |
|
(Should we drop comp.databases.oracle from followups? I'm not sure this discussion is relevant there any longer. I'm reading this in c.l.j.p but I don't know where you are reading it.) Chas Douglass I am reading in the Oracle group but it should be noted that last year I taught a JDeveloper class here at the U with one of the people that helped write Hibernate. So I know my way, reasonably well, around Java too. I apologize if I, in any way, implied that your knowledge of Java (or anything else, for that matter) was at issue. |
|
Chas Douglass |
#27
| |||
| |||
|
|
does anyone have any thoughts how to accomplish this task. |
#28
| |||
| |||
|
|
fishfry wrote: In article <IhjBd.5746$6i.1873 (AT) bignews6 (DOT) bellsouth.net>, "Tom Dyess" <tdyess (AT) dysr (DOT) com> wrote: Yes, I would agree with the relational database. ORDB are mainly hype and usually promoted by coders that have never had to write a report or mine data effectively. Is this really true? I'm an experienced database programmer learning the Java/OO way of doing things and I'm puzzled that people use Hibernate and similar tools to define objects, with the database serving as just a passive serialization mechanism with no thought to database theory. How can this possibly work in real life? Also I've been told that stored procedures are not supported by Hibernate, is that true? How can it be that 20 years of relational theory seems to be getting thrown out overnight? Or am I just misinformed? It is true. Most of the Java being written against relational databases doesn't perform and doesn't scale well. The saving grace for all of those Java geniuses is that they can blame it on the web and 99% of IT management is too clueless to know better. |
#29
| |||
| |||
|
|
"DA Morgan" <damorgan@x.washington.edu> wrote in message news:41d8219f$1_1 (AT) 127 (DOT) 0.0.1... fishfry wrote: In article <IhjBd.5746$6i.1873 (AT) bignews6 (DOT) bellsouth.net>, "Tom Dyess" <tdyess (AT) dysr (DOT) com> wrote: Yes, I would agree with the relational database. ORDB are mainly hype and usually promoted by coders that have never had to write a report or mine data effectively. Is this really true? I'm an experienced database programmer learning the Java/OO way of doing things and I'm puzzled that people use Hibernate and similar tools to define objects, with the database serving as just a passive serialization mechanism with no thought to database theory. How can this possibly work in real life? Also I've been told that stored procedures are not supported by Hibernate, is that true? How can it be that 20 years of relational theory seems to be getting thrown out overnight? Or am I just misinformed? It is true. Most of the Java being written against relational databases doesn't perform and doesn't scale well. The saving grace for all of those Java geniuses is that they can blame it on the web and 99% of IT management is too clueless to know better. That is pure opinion but you're welcome to it. I'm not sure why relational purists are so biased against Java, but I can't think of a single programming language that has increased the productivity of programmers more than Java. Personally I prefer Java Stored Procedures to PL/SQL because they are far quicker to develop and easier to debug, not too mention the performance is comparable and sometimes superior when using the native libraries. I can't understand why someone would choose clunky old PL/SQL unless they are stuck in "the old days." |
#30
| |||
| |||
|
|
"Haximus" <e@t.me> wrote "DA Morgan" <damorgan@x.washington.edu> wrote in message news:41d8219f$1_1 (AT) 127 (DOT) 0.0.1... fishfry wrote: In article <IhjBd.5746$6i.1873 (AT) bignews6 (DOT) bellsouth.net>, "Tom Dyess" <tdyess (AT) dysr (DOT) com> wrote: Yes, I would agree with the relational database. ORDB are mainly hype and usually promoted by coders that have never had to write a report or mine data effectively. Is this really true? I'm an experienced database programmer learning the Java/OO way of doing things and I'm puzzled that people use Hibernate and similar tools to define objects, with the database serving as just a passive serialization mechanism with no thought to database theory. How can this possibly work in real life? Also I've been told that stored procedures are not supported by Hibernate, is that true? How can it be that 20 years of relational theory seems to be getting thrown out overnight? Or am I just misinformed? It is true. Most of the Java being written against relational databases doesn't perform and doesn't scale well. The saving grace for all of those Java geniuses is that they can blame it on the web and 99% of IT management is too clueless to know better. That is pure opinion but you're welcome to it. I'm not sure why relational purists are so biased against Java, but I can't think of a single programming language that has increased the productivity of programmers more than Java. Personally I prefer Java Stored Procedures to PL/SQL because they are far quicker to develop and easier to debug, not too mention the performance is comparable and sometimes superior when using the native libraries. I can't understand why someone would choose clunky old PL/SQL unless they are stuck in "the old days." i've not programmed much in Java and OO (yet), but i'm well-qualified as a PL/SQL dinosaur. however, i'm also well-qualified to have observed a tremendous decrease in productivity and an increase in complexity concurrent with the rise in popularity of Java and OO. i believe the current state of disorganization in oracle database and app server installation, configuration, and documentation is a symptom of the mentality that has accompanied the rise of Java, OO, and web technologies, of course complicated by oracle's traditional way of doing business. i don't dismiss Java and OO, i acknowledge their likely superiority for certain scenarios. but, like daniel, i have seen a good amount of myopic usage of the technology. my general experience in the field is to see it viewed as a magic potion that can solve any problem better than anything else, but often (yet not always) end up gumming things up by those who don't acknowledge the need to understand and use relational technology correctly. |
![]() |
| Thread Tools | |
| Display Modes | |
| |