[
http://opensource.atlassian.com/projects/hibernate/browse/HHH-3011?page=c...
]
MG commented on HHH-3011:
-------------------------
I feel a need for this type of functionality for performance reasons.
Can it be done on Hibernate StatelessSession?
I think on if we add merge() method on StatelessSession it can be done generic for other
databases as well
using something like
begin
update row
if (rows_updated <= 0)
then
insert row
endif
end
and for Oracle it could just do MERGE?
What do you think?
merge() optimization for Oracle dialect
---------------------------------------
Key: HHH-3011
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-3011
Project: Hibernate3
Issue Type: Improvement
Components: core
Reporter: MG
Priority: Minor
merge() optimization for Oracle dialect.
Since 9i Oracle has a MERGE statement which is very useful to save round trips to
database in merge() call
which will make dramatic improvement for performance of loading large row sets.
MERGE command processes the conditional INSERT-or-UPDATE within a single statement.
So instead of doing 'select' first to detect whether entity is in database or not
(This is one round trip to DB)
and then issuing 'update' or 'insert' all of it could be done in one
statement with no extra round trips using oracle SQL MERGE statement.
http://www.oracle.com/technology/products/oracle9i/daily/Aug24.html
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira