Re: Question for Java developers on Hibernate
From: David Fitzjarrell <oratune_at_yahoo.com>
Date: Thu, 28 Jul 2011 10:32:53 -0700 (PDT)
Message-ID: <1311874373.33371.YahooMailNeo_at_web65412.mail.ac4.yahoo.com>
I use this in a dev environment to catch errors and sql text: CREATE TABLE stats$error_log ( err_dt TIMESTAMP, db_user VARCHAR2(30), msg_stack VARCHAR2(2000), sqltxt VARCHAR2(1000)) tablespace users; CREATE OR REPLACE TRIGGER log_server_errors AFTER SERVERERROR ON DATABASE DECLARE v_sqltext VARCHAR2(1000); nl_sqltext ora_name_list_t; BEGIN -- Capture entire error text FOR i IN 1 .. ora_sql_txt(nl_sqltext) LOOP v_sqltext := v_sqltext || nl_sqltext(i); END LOOP; INSERT INTO STATS$ERROR_LOG (err_dt, db_user, msg_stack, sqltxt) VALUES (systimestamp, sys.login_user, dbms_utility.format_error_stack, v_sqltext); END log_server_errors; / You can change the tablespace to one that's convenient to use (in our environment USERS is there but unused). David Fitzjarrell From: "Blanchard, William G" <William.Blanchard_at_fisglobal.com> To: cicciuxdba_at_gmail.com; oracle-l-freelists <oracle-l_at_freelists.org> Sent: Thursday, July 28, 2011 9:00 AM Subject: RE: Question for Java developers on Hibernate This has everything to do with lazy or incompetent developers and nothing to do with Java or Hibernate. You can log the sql statements using log4j or via a configuration property. WGB From:oracle-l-bounce_at_freelists.org [mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Guillermo Alan Bort Sent: Thursday, July 28, 2011 9:47 AM To: oracle-l-freelists Subject: Question for Java developers on Hibernate So... I'm very annoyed today with one of out beloved developers... Due to some "security" measures (in fact it was a political issue) we had to do a database refresh and upgrade all in one step using expdp. It's not all that bad, but the dev team that is supposed to use the new database is having a lot of trouble with the new DB (everything from synonyms to grants had to be reviewed, thank god for TOAD's "compare database" feature). The problem is that the database was refreshed from the production DB and the old dev DB had a few modifications, so basically now they are having trouble with the dev version of the app (missing columns/tables?). The app is a java monster that uses hibernate to connect to Oracle (did I ever mention my aversion to frameworks?) and when I asked exactly WHAT table was missing the dev team didn't seem to have an answer, all they are getting is ORA-942... so I asked for the SQL Query and the reply was that they are using hibernate and that it doesn't allow them to see the queries. I honestly know very little about java and even less about hibernate, but there must be a way to see this (other that tracing the session)... so my question to those of you who know hibernate or work with hibernate is how do you see what query the framework is executing? and if hibernate doesn't actually have a way to easily log what its doing... well I'm amazed that anyone would choose it for production use. thanks :-) Alan.- _____________ The information contained in this message is proprietary and/or confidential. If you are not the intended recipient, please: (i) delete the message and all copies; (ii) do not disclose, distribute or use the message in any manner; and (iii) notify the sender immediately. In addition, please be aware that any message addressed to our domain is subject to archiving and review by persons other than the intended recipient. Thank you. _____________
Date: Thu, 28 Jul 2011 10:32:53 -0700 (PDT)
Message-ID: <1311874373.33371.YahooMailNeo_at_web65412.mail.ac4.yahoo.com>
I use this in a dev environment to catch errors and sql text: CREATE TABLE stats$error_log ( err_dt TIMESTAMP, db_user VARCHAR2(30), msg_stack VARCHAR2(2000), sqltxt VARCHAR2(1000)) tablespace users; CREATE OR REPLACE TRIGGER log_server_errors AFTER SERVERERROR ON DATABASE DECLARE v_sqltext VARCHAR2(1000); nl_sqltext ora_name_list_t; BEGIN -- Capture entire error text FOR i IN 1 .. ora_sql_txt(nl_sqltext) LOOP v_sqltext := v_sqltext || nl_sqltext(i); END LOOP; INSERT INTO STATS$ERROR_LOG (err_dt, db_user, msg_stack, sqltxt) VALUES (systimestamp, sys.login_user, dbms_utility.format_error_stack, v_sqltext); END log_server_errors; / You can change the tablespace to one that's convenient to use (in our environment USERS is there but unused). David Fitzjarrell From: "Blanchard, William G" <William.Blanchard_at_fisglobal.com> To: cicciuxdba_at_gmail.com; oracle-l-freelists <oracle-l_at_freelists.org> Sent: Thursday, July 28, 2011 9:00 AM Subject: RE: Question for Java developers on Hibernate This has everything to do with lazy or incompetent developers and nothing to do with Java or Hibernate. You can log the sql statements using log4j or via a configuration property. WGB From:oracle-l-bounce_at_freelists.org [mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Guillermo Alan Bort Sent: Thursday, July 28, 2011 9:47 AM To: oracle-l-freelists Subject: Question for Java developers on Hibernate So... I'm very annoyed today with one of out beloved developers... Due to some "security" measures (in fact it was a political issue) we had to do a database refresh and upgrade all in one step using expdp. It's not all that bad, but the dev team that is supposed to use the new database is having a lot of trouble with the new DB (everything from synonyms to grants had to be reviewed, thank god for TOAD's "compare database" feature). The problem is that the database was refreshed from the production DB and the old dev DB had a few modifications, so basically now they are having trouble with the dev version of the app (missing columns/tables?). The app is a java monster that uses hibernate to connect to Oracle (did I ever mention my aversion to frameworks?) and when I asked exactly WHAT table was missing the dev team didn't seem to have an answer, all they are getting is ORA-942... so I asked for the SQL Query and the reply was that they are using hibernate and that it doesn't allow them to see the queries. I honestly know very little about java and even less about hibernate, but there must be a way to see this (other that tracing the session)... so my question to those of you who know hibernate or work with hibernate is how do you see what query the framework is executing? and if hibernate doesn't actually have a way to easily log what its doing... well I'm amazed that anyone would choose it for production use. thanks :-) Alan.- _____________ The information contained in this message is proprietary and/or confidential. If you are not the intended recipient, please: (i) delete the message and all copies; (ii) do not disclose, distribute or use the message in any manner; and (iii) notify the sender immediately. In addition, please be aware that any message addressed to our domain is subject to archiving and review by persons other than the intended recipient. Thank you. _____________
-- http://www.freelists.org/webpage/oracle-lReceived on Thu Jul 28 2011 - 12:32:53 CDT