-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: Erweiterung Criteria API möglich?
PostPosted: Tue Dec 06, 2005 5:00 am 
Newbie

Joined: Wed Sep 22, 2004 10:10 am
Posts: 15
Location: Darmstadt, Germany
Hibernate version:
2.1.7

Hallo wertes Forum,

wir nutzen innerhalb einer GIS-Anwendung häufig das Criteria API, u.a. um die komplexen räumlichen Abfragen zu kapseln. Nun is es bei der verwendeten Datenbank so, dass Geometrien als Objektspalten abgelegt werden. Diese werden von uns über UserTypes in passende Java-Objekte "umgewandelt". Einen Punkt gibt es nun aber noch, der zu lösen wäre: Die Objekte liegen immer in eine bestimmten räumlichen Referenzsystem vor, und müssen aber oft in ein anderes umgewandelt werden. Oracle Spatial stellt dafür die Funktion
Code:
sdo_cs.transform
zur Verfügung.
Im Moment verwenden wir entweder HQL-Queries oder createSQLQuery, was dann zB so aussieht:
Code:
Query q = this.getSession().createSQLQuery(
                "SELECT " +
                "{this}.ID as ID0_, " +
                "{this}.NAME as NAME0_, " +
                "{this}.DESCRIPTION as DESCRIPT3_0_, " +
                "{this}.X_SPACING as X_SPACING0_, " +
                "{this}.Y_SPACING as Y_SPACING0_, " +
                "{this}.X_COUNT as X_COUNT0_, " +
                "{this}.Y_COUNT as Y_COUNT0_, " +
                "sdo_cs.transform({this}.LL_POINT, " + sc.getSrs().getSrid() + ") as LL_POINT0_, " +
                "sdo_cs.transform({this}.MBB, " + sc.getSrs().getSrid() + ")  as MBB0_, " +
                "{this}.Z_ORDINATES as Z_ORDIN10_0_ " +
                      "from Grid {this} WHERE " + se.toSqlString(null, null, null, null) + " ", "this", Grid.class);


Wie zu sehen ist, werden also innerhalb des SELECT-Clause bestimmte Spalten (des Typs SDOGeometry) transformiert. Meine Frage ist nun: kann ich Hibernate so erweitern, dass, wenn als Attribut/Spalten-Klasse eben ein bestimmter Typ identifziert wird, automatisch eine Funktion ergänzt wird?


Vielen Dank & viele Grüsse,

beelzebot


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.