|
ABSTRACT
Developers of data-intensive applications are increasingly using persistence frameworks such as EJB, Hibernate and JDO to access relational data. These frameworks support both transparent persistence for individual objects and explicit queries to efficiently search large collections of objects. While transparent persistence is statically typed, explicit queries do not support static checking of types or syntax because queries are manipulated as strings and interpreted at runtime. This paper presents Safe Query Objects, a technique for representing queries as statically typed objects while still supporting remote execution by a database server. Safe query objects use object-relational mapping and reflective metaprogramming to translate query classes into traditional database queries. The model supports complex queries with joins, parameters, existentials, and dynamic criteria. A prototype implementation for JDO provides a type-safe interface to the full query functionality in the JDO 1.0 standard.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
S. Alagic and J. Solorzano. Java and OQL: A reflective solution for the impedance mismatch. L'OBJET, 6(2), 2000.
|
| |
2
|
ANSI/INCITS. Database languages - SQLJ - part 1: SQL routines using the Java programming language. Technical Report 331.1-1999, ANSI/INCITS, 1999.
|
| |
3
|
|
 |
4
|
|
 |
5
|
Gilad Bracha , Martin Odersky , David Stoutamire , Philip Wadler, Making the future safe for the past: adding genericity to the Java programming language, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.183-200, October 18-22, 1998, Vancouver, British Columbia, Canada
|
| |
6
|
D. Cengija. Hibernate your data. onJava.com, 2004.
|
 |
7
|
William R. Cook, Interfaces and specifications for the Smalltalk-80 collection classes, conference proceedings on Object-oriented programming systems, languages, and applications, p.1-15, October 18-22, 1992, Vancouver, British Columbia, Canada
|
 |
8
|
|
 |
9
|
|
| |
10
|
R. DeLine and M. Fahndrich. Typestates for objects, 2004.
|
| |
11
|
|
| |
12
|
G. Hamilton and R. Cattell. JDBC™: A Java SQL API. Sun Microsystems, 1997.
|
| |
13
|
J. Janke. Compiere project overview. compiere.com, 2004.
|
| |
14
|
S. P. Jones. Haskell 98 Language and Libraries. Cambridge University Press, 2003.
|
| |
15
|
|
 |
16
|
|
| |
17
|
V. Matena and M. Hapner. Enterprise Java Beans Specification 1.0. Sun Microsystems, 1998.
|
| |
18
|
F. Matthes, A. Rudloff, J. Schmidt, and K. Subieta. A gateway from DBPL to Ingres. In W. Litwin and T. Risch, editors, Applications of Databases, First International Conference, ADB-94, volume 819, pages 365--380. Springer-Verlag, 1994.
|
| |
19
|
E. Meijer and W. Schulte. Programming with rectangles, triangles, and circles. In Proceedings of Conference on XML, 2003.
|
 |
20
|
|
| |
21
|
C. Russell. Java Data Objects (JDO) Specification JSR-12. Sun Microsystems, 2003.
|
| |
22
|
|
| |
23
|
D. Tinker. High performance JDO. JDOGenie.com, 2003.
|
 |
24
|
|
| |
25
|
N. Welsh, F. Solsona, and I. Glover. SchemeUnit and SchemeQL: Two little languages. In Third Workshop on Scheme and Functional Programming, 2002.
|
CITED BY 18
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sruthi Bandhakavi , Prithvi Bisht , P. Madhusudan , V. N. Venkatakrishnan, CANDID: preventing sql injection attacks using dynamic candidate evaluations, Proceedings of the 14th ACM conference on Computer and communications security, October 28-31, 2007, Alexandria, Virginia, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|