Pj Murray

Ranch Hand
+ Follow
since Sep 24, 2004
Merit badge: grant badges
For More
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Pj Murray

Gabriel Claramunt wrote:For what is worth, in my experience, a person's ability has nothing to do with their immigration status (I worked with awesome us citizens, permanent residents, H1Bs, and L1Bs, and I found examples of not so good skills in all categories too) neither with the country of origin (although I must confess that I feel more comfortable working with people from some countries than others... but is a cultural thing )

Couldn't agree more!

14 years ago
Some items that might help

There's a blog posting with a comparison of Java persistence choices here:


Of course, you need to decide if you really want to use a mapping tool. You may find these blog postings on "DAO versus ORM" and "Choosing a Java persistence strategy" interesting:



Originally posted by Todd Johnson:
I prefer to use the DAO pattern due to it's flexibility. However I'm getting really tired of writing tons and tons of DAO code. It's not uncommon to work on a project that involves 30 or 50 tables with hundreds of columns.

I know there is the commercial product (Firestore/DAO) that will do automatic code generation of DAO objects using a JDBC connection to a database. Is there anything similar that is open source?

CodeFutures will launch this month a free open source Community Edition that will provide JDBC DAO support - which I believe is what you're looking for.

In the meantime, we're providing free 90 day licenses for the release that is online.


Originally posted by Elizabeth King:

If you were a saleswoman or salesman for one of the frameworks, what would be your sale point for JPA, Hibernate, JDO, TopLink, iBATIS, ...?

CodeFutures has a product that supports a range of the competing options via DAO- straight JDBC DAO, Spring DAO, Hibernate DAO, JPA DAO, etc. We've just dropped JDO support.

Given that we're framework-neutral, I can tell you that we've had huge success with our Hibernate support in the past and lots of demand for our new Spring feature. However, the vast majority of FireStorm/DAO users tend to use straight JDBC. We'll be doing another user survey in a few weeks and I expect I'll publish the statistics.

If straight JDBC is an appropriate option (it's not always), the key to successful use of JDBC without a framework is to use a code generator.

Originally posted by John King:

Hibernate is built on JDBC. How can you make Hibernate over perform direct JDBC?

You can't, of course! (Assuming you write perfect Hibernate and perfect JDBC code - a big assumption). Perfectly optimized Hibernate will always be slower than perfectly optimized JDBC.

As you point out, Hibernate is a layer on top of JDBC. For some reason, this is an area of huge sensitivity for Hibernate fans (I've no idea why.....)

But in how many people can write JDBC code that is perfectly performance-optimized? How many people can afford the time to write perfect JDBC code?

And in how many projects is the data persistence layer performance really so important that the (often slight) Hibernate overhead makes any difference?

If your organization has already standardized on Hibernate then for consistency and lower maintenance costs it makes sense to use it in all projects (unless performance REALLY is that important, but then there are faster options than JDBC like SourcePro DB ).

Originally posted by Ramesh Ch:
could you please create seperate forum for Web2.0

It's an interesting idea - but I think you need to clarify what you mean by Web 2.0 - I guess you mean the technologies? This is JavaRanch - so there's a Java focus.

When I think of Web 2.0 technologies, I don't particularly think of Java (RSS, AJAX, wikis, blogs, mashups, etc)
16 years ago

Originally posted by Eisa Ayed:
hello .

1) how to know whats happen in the memory for specific program ?

2) where is method signature and behavior store (Heap ? Stack ? )

Thanks in Advance

Check out

We've been using it for a few years with good results.
16 years ago

Originally posted by Greg Charles:
Jeeves definitely comes from the works of P.G. Wodehouse. He was the valet for Bertram Wooster ... a nice guy, just not very bright. Jeeves, conversely, was nearly omniscient. It was Wodehouse's little dig at England's class system. The characters appeared in a series of humorous short stories and novels, which are absolutely worth checking out.

If you absolutely can't stand print, "Jeeves and Wooster", starring Stephen Fry and Hugh Laurie did a respectable job of bringing the stories to life. If you've only seen Hugh Laurie in "House", they're worth watching just to hear his natural accent.

Check Jeeves and Wooster out here:

16 years ago

Originally posted by Mahadev Semwall:
The data type can be XML file with XML schema or xml db in oracle.

You didn't say if you had a Java-only environment or if you needed both Java and C++. That affects your choice of SDO runtime (see full list here: http://www.osoa.org/display/Main/Implementation+Examples+and+Tools)

For XML, you need to look at the XML parsing performance of the SDO runtime and see if it corresponds to your application requirements. For example - do you need to constantly read and write a large volume of small XML documents or do you have very large XML documents? Is memory usage important? If you have large XML documents then a parser that uses lots of memory will probbably slow down your entire application.

For the relational data, how many different databases do you need to deal with? If you've got a few large databases (with lots of tables/views or stored procedures) than you need to look at the tools available for generating the SDO deployment descriptors. This could save you a lot of time and effort. The Java-only SDO implementations for relational data tend to either have JDBC-based SQL DAS or EJB3/JPA DAS. If performance is a concern, the pure SQL DAS should generally be faster, depending on the implementation.
Since this is JavaRanch, I presume you are using the Java SDO API rather than the C++. The performance characteristics in Java and C++ are generally the same, unless you are dealing with very large DataObject, where C++ has a performance advantage due to the way memory allocation works in C++.

One of the most important factors in the performance of an SDO runtime is the XML parsing performance.

What type of data are you dealing with?

Each type of data requires a different Data Access Service - and each will have different performance characteristics.
By EJB, I presume you mean EJB 3.0 - JPA?

In which case, it's not really going to make much difference as you're using the JBoss technology stack either way.

Unless there's some good reason to use Hibernate, you may as well just use EJB 3.0 in the app server (which is based on Hibernate anyway). That will at least reduce your maintenance because you'll have one less thing to manage.
We're looking for developers to try out the latest release of FireStorm/DAO.

You can download here:


16 years ago