Yes, I've considered using Hibernate's metadata framework, and I've reviewed
the Hibernate's code back in 2004 (when I did first release of database metadator),
and I did it again hours ago for v.3.3.0.SP1.
The JDBC connector needs to be more dynamic than Hibernate can allow. Hibernate is tuned
for ORM stuff only, and it was done for the reason. Hibernate's view of database
metadata relying on the concept of org.hibernate.dialect.Dialect classes that needs to be
supplied in a configuration (JPA or hibernate.cfg.xml) and/or in POJO annotations.
Hibernate will know about relationships between objects only if it will be supplied as
part of the mapping.
It is sort of static approach (alhough it is possible to programmatically create
configuration) and it mostly limited to tables to classes mapping (again, for a reason) -
in other words, Hibernate is trying to see a database metadata through your eyes (mapping,
a top-down approach).
Loading table's data is important but it is equally important to get other database
metadata. In contrast with Hibernate, the database metadator relying on JDBC metadata
provided from connection to dynamically get all neccessary info - and it is more
comprehensive - everything that java.sql.DatabaseMetaData provides can be extracted using
database metadator - tables, views, indexes, stored procedures, database capabilities (a
bottom-up approach).
The JDBC connector needs only database connection URL/user info or Datasource name from
JNDI to get all metadata, and it can drive from there.
I was thinking about similar way (I'm talking about concept, not the UI view) like
Aqua Data Studio does it -
http://www.aquafold.com.
The dna-common-jdbc already has most of the logic needed - we just need a glue for a
request processor implementation. BTW, the dna-common-jdbc extracts table's metadata
in the same way like org.hibernate.tool.hbm2ddl.
IMO, it is possible to use both in the same project - for example to get metadata - use
dna-common-jdbc, to issue datbase update statements use Hibernate. But again, it's not
difficult to execute "select" statement based on table name without Hibernate.
Again, don't get me wrong - Hibernate is extremely useful when it comes to objects
mapping to tables and persistent operations against defined POJO model (in fact, I'm
using the Hibernate 3 for my current projects, and very happy with it). But when it comes
to something very dynamic like federated access to databases where we're discovering
models by traversing graphs - we need something more than that, and database metadator
classes can provide that level of flexibility.
Best regards,
Sergiy
________________________________
From: "dna-dev-request(a)lists.jboss.org" <dna-dev-request(a)lists.jboss.org>
To: dna-dev(a)lists.jboss.org
Sent: Tuesday, 9 December, 2008 3:20:50 AM
Subject: dna-dev Digest, Vol 9, Issue 7
Send dna-dev mailing list submissions to
dna-dev(a)lists.jboss.org
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.jboss.org/mailman/listinfo/dna-dev
or, via email, send a message with subject or body 'help' to
dna-dev-request(a)lists.jboss.org
You can reach the person managing the list at
dna-dev-owner(a)lists.jboss.org
When replying, please edit your Subject line so it is more specific
than "Re: Contents of dna-dev digest..."
Today's Topics:
1. FYI: Apache Jackrabbit v. 1.5.0 has been released
(Sergey Litsenko)
2. JDBC metadata connector (Randall Hauch)
3. Build failed in Hudson: DNA continuous on JDK1.5 ? JBoss DNA
JDBC Common model #393 (jboss-qa-internal(a)redhat.com)
4. Build failed in Hudson: DNA continuous on JDK1.5 ? JBoss DNA
JDBC Common model #394 (jboss-qa-internal(a)redhat.com)
----------------------------------------------------------------------
Message: 1
Date: Sun, 7 Dec 2008 15:24:23 -0800 (PST)
From: Sergey Litsenko <litsenko_sergey(a)yahoo.com>
Subject: [dna-dev] FYI: Apache Jackrabbit v. 1.5.0 has been released
To: dna-dev(a)lists.jboss.org
Message-ID: <357562.58665.qm(a)web50510.mail.re2.yahoo.com>
Content-Type: text/plain; charset="utf-8"
IMO, The most notable changes are:
1) development preview: JSR 283 features (org.apache.jackrabbit.api.jsr283)
2) jackrabbit-jcr-benchmark component (depends on javax.jcr and on jackrabbit-jcr-tests
- JCR API test cases designed for
testing the compliance of an implementation.)
Speaking of reusability the jackrabbit-webdav module can be reused for
https://jira.jboss.org/jira/browse/DNA-190 Support accessing repository through WebDAV. It
depends on small part of jackrabbit-jcr-commons only -
org.apache.jackrabbit.commons.xml.SerializingContentHandler to generate XML output.
Regards,
Sergiy
________________________________
From: "dna-dev-request(a)lists.jboss.org" <dna-dev-request(a)lists.jboss.org>
To: dna-dev(a)lists.jboss.org
Sent: Saturday, 6 December, 2008 5:56:37 AM
Subject: dna-dev Digest, Vol 9, Issue 6
Send dna-dev mailing list submissions to
dna-dev(a)lists.jboss.org
To subscribe or unsubscribe via the World Wide Web, visit
https://lists.jboss.org/mailman/listinfo/dna-dev
or, via email, send a message with subject or body 'help' to
dna-dev-request(a)lists.jboss.org
You can reach the person managing the list at
dna-dev-owner(a)lists.jboss.org
When replying, please edit your Subject line so it is more specific
than "Re: Contents of dna-dev digest..."
Today's Topics:
1. Build failed in Hudson: DNA continuous on JDK1.5 ? JBoss DNA
Connector to SVN #388 (jboss-qa-internal(a)redhat.com)
2. Hudson build is back to normal: DNA continuous on JDK1.5 ?
JBoss DNA Connector to SVN #389 (jboss-qa-internal(a)redhat.com)
----------------------------------------------------------------------
Message: 1
Date: Fri, 5 Dec 2008 10:36:01 -0500 (EST)
From: jboss-qa-internal(a)redhat.com
Subject: [dna-dev] Build failed in Hudson: DNA continuous on JDK1.5 ?
JBoss DNA Connector to SVN #388
To: dna-dev(a)lists.jboss.org, rhauch(a)gmail.com
Message-ID:
<516078381.13271228491361684.JavaMail.hudson(a)hudson1.qa.atl2.redhat.com>
Content-Type: text/plain; charset=us-ascii
See
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Building JBoss DNA Connector to SVN
[INFO] task-segment: [clean, package]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:compile]
[INFO] Compiling 6 source files to
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
[HUDSON] Archiving
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
to /home/hudson/hudson_workspace/jobs/DNA continuous on
JDK1.5/modules/org.jboss.dna$dna-connector-svn/builds/2008-12-05_10-32-13/archive/org.jboss.dna/dna-connector-svn/0.4-SNAPSHOT/pom.xml
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
:[223,86] cannot find symbol
symbol : variable MIME
location: class org.jboss.dna.graph.JcrLexicon
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
:[223,86] cannot find symbol
symbol : variable MIME
location: class org.jboss.dna.graph.JcrLexicon
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3 minutes 43 seconds
[INFO] Finished at: Fri Dec 05 10:36:00 EST 2008
[INFO] Final Memory: 62M/353M
[INFO] ------------------------------------------------------------------------
------------------------------
Message: 2
Date: Fri, 5 Dec 2008 11:07:09 -0500 (EST)
From: jboss-qa-internal(a)redhat.com
Subject: [dna-dev] Hudson build is back to normal: DNA continuous on
JDK1.5 ? JBoss DNA Connector to SVN #389
To: dna-dev(a)lists.jboss.org, rhauch(a)gmail.com
Message-ID:
<2103588601.13301228493229923.JavaMail.hudson(a)hudson1.qa.atl2.redhat.com>
Content-Type: text/plain; charset=us-ascii
See
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
------------------------------
_______________________________________________
dna-dev mailing list
dna-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/dna-dev
End of dna-dev Digest, Vol 9, Issue 6
*************************************
Start your day with Yahoo!7 and win a Sony Bravia TV. Enter now
http://au.docs.yahoo.com/homepageset/?p1=other&p2=au&p3=tagline
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
http://lists.jboss.org/pipermail/dna-dev/attachments/20081207/9e8fe034/at...
------------------------------
Message: 2
Date: Mon, 8 Dec 2008 08:35:29 -0600
From: Randall Hauch <rhauch(a)redhat.com>
Subject: [dna-dev] JDBC metadata connector
To: JBoss DNA <dna-dev(a)lists.jboss.org>
Message-ID: <C06A61F8-ABCA-46CE-8FA2-91CE6BAED768(a)redhat.com>
Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes
Sergiy,
Have you considered using Hibernate's metadata framework? Considering
that Hibernate has verified and tested support for 25 database
management systems, it may very well be worth our while to simply
reuse what they have for extracting metadata. I would think this
approach might offer the broadest coverage with a very small amount of
simple code. Basically, we'd just need to get the list of tables
through JDBC metadata, and then we'd be able to call Hibernate's
framework to load each table (which already handles all the foreign
key functionality).
Thoughts?
Best regards,
Randall
------------------------------
Message: 3
Date: Mon, 8 Dec 2008 11:01:10 -0500 (EST)
From: jboss-qa-internal(a)redhat.com
Subject: [dna-dev] Build failed in Hudson: DNA continuous on JDK1.5 ?
JBoss DNA JDBC Common model #393
To: dna-dev(a)lists.jboss.org, rhauch(a)gmail.com
Message-ID:
<1486165683.31228752070403.JavaMail.hudson(a)hudson1.qa.atl2.redhat.com>
Content-Type: text/plain; charset=us-ascii
See
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Building JBoss DNA JDBC Common model
[INFO] task-segment: [clean, package]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
Downloading:
http://repository.jboss.org/maven2/commons-beanutils/commons-beanutils/1....
Downloading:
http://apiviz.googlecode.com/svn/site/repo/mvn/release/commons-beanutils/...
Downloading:
http://repository.jboss.com/maven2/commons-beanutils/commons-beanutils/1....
Downloading:
http://snapshots.jboss.org/maven2/commons-beanutils/commons-beanutils/1.8...
Downloading:
http://repo1.maven.org/maven2/commons-beanutils/commons-beanutils/1.8.0/c...
10K downloaded
Downloading:
http://repository.jboss.org/maven2/org/apache/commons/commons-parent/11/c...
Downloading:
http://apiviz.googlecode.com/svn/site/repo/mvn/release/org/apache/commons...
Downloading:
http://repository.jboss.com/maven2/org/apache/commons/commons-parent/11/c...
Downloading:
http://snapshots.jboss.org/maven2/org/apache/commons/commons-parent/11/co...
Downloading:
http://repo1.maven.org/maven2/org/apache/commons/commons-parent/11/common...
24K downloaded
Downloading:
http://repository.jboss.org/maven2/commons-logging/commons-logging/1.1.1/...
17K downloaded
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local =
'2491c90667a751a5b7a9ba115385bca54bd29d3d'; remote =
'76672afb562b9e903674ad3a544cdf2092f1faa3' - RETRYING
Downloading:
http://repository.jboss.org/maven2/commons-logging/commons-logging/1.1.1/...
17K downloaded
[WARNING] *** CHECKSUM FAILED - Checksum failed on download: local =
'2491c90667a751a5b7a9ba115385bca54bd29d3d'; remote =
'76672afb562b9e903674ad3a544cdf2092f1faa3' - IGNORING
Downloading:
http://repository.jboss.org/maven2/org/apache/commons/commons-parent/5/co...
15K downloaded
Downloading:
http://repository.jboss.org/maven2/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.pom
Downloading:
http://apiviz.googlecode.com/svn/site/repo/mvn/release/hsqldb/hsqldb/1.8....
Downloading:
http://repository.jboss.com/maven2/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.pom
Downloading:
http://snapshots.jboss.org/maven2/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.pom
Downloading:
http://repo1.maven.org/maven2/hsqldb/hsqldb/1.8.0.7/hsqldb-1.8.0.7.pom
621b downloaded
Downloading:
http://repository.jboss.org/maven2/commons-beanutils/commons-beanutils/1....
Downloading:
http://apiviz.googlecode.com/svn/site/repo/mvn/release/commons-beanutils/...
Downloading:
http://repository.jboss.com/maven2/commons-beanutils/commons-beanutils/1....
Downloading:
http://snapshots.jboss.org/maven2/commons-beanutils/commons-beanutils/1.8...
Downloading:
http://repo1.maven.org/maven2/commons-beanutils/commons-beanutils/1.8.0/c...
225K downloaded
Downloading:
http://repository.jboss.org/maven2/commons-logging/commons-logging/1.1.1/...
59K downloaded
[INFO] [compiler:compile]
[INFO] Compiling 81 source files to
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
[HUDSON] Archiving
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
to /home/hudson/hudson_workspace/jobs/DNA continuous on
JDK1.5/modules/org.jboss.dna$dna-common-jdbc/builds/2008-12-08_10-51-52/archive/org.jboss.dna/dna-common-jdbc/0.4-SNAPSHOT/pom.xml
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
:[103,19] illegal character: \65533
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
:[1658,15] illegal character: \65533
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
:[1667,13] illegal character: \65533
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
:[1667,8] not a statement
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 9 minutes 14 seconds
[INFO] Finished at: Mon Dec 08 11:01:09 EST 2008
[INFO] Final Memory: 41M/408M
[INFO] ------------------------------------------------------------------------
------------------------------
Message: 4
Date: Mon, 8 Dec 2008 11:20:35 -0500 (EST)
From: jboss-qa-internal(a)redhat.com
Subject: [dna-dev] Build failed in Hudson: DNA continuous on JDK1.5 ?
JBoss DNA JDBC Common model #394
To: dna-dev(a)lists.jboss.org, rhauch(a)gmail.com
Message-ID:
<2120698925.81228753235529.JavaMail.hudson(a)hudson1.qa.atl2.redhat.com>
Content-Type: text/plain; charset=us-ascii
See
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Building JBoss DNA JDBC Common model
[INFO] task-segment: [clean, package]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean]
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:compile]
[INFO] Compiling 81 source files to
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
[HUDSON] Archiving
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
to /home/hudson/hudson_workspace/jobs/DNA continuous on
JDK1.5/modules/org.jboss.dna$dna-common-jdbc/builds/2008-12-08_11-17-16/archive/org.jboss.dna/dna-common-jdbc/0.4-SNAPSHOT/pom.xml
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Compilation failure
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
:[103,19] illegal character: \65533
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
:[1658,15] illegal character: \65533
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
:[1667,13] illegal character: \65533
http://hudson.qa.jboss.com/hudson/job/DNA%20continuous%20on%20JDK1.5/org....
:[1667,8] not a statement
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3 minutes 15 seconds
[INFO] Finished at: Mon Dec 08 11:20:34 EST 2008
[INFO] Final Memory: 48M/474M
[INFO] ------------------------------------------------------------------------
------------------------------
_______________________________________________
dna-dev mailing list
dna-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/dna-dev
End of dna-dev Digest, Vol 9, Issue 7
*************************************
Start your day with Yahoo!7 and win a Sony Bravia TV. Enter now
http://au.docs.yahoo.com/homepageset/?p1=other&p2=au&p3=tagline