JDX Highlights

Object-Relational Mapping (ORM) is one of the most complex issues to address in modern application architectures. JDX provides a simple, practical and robust solution to this important problem. JDX solves the tough problem of persistence for Java/J2EE/cloud applications by eliminating endless lines of JDBC/SQL code.

You don’t need to get bogged down with overly complex methodologies and over-arching frameworks. JDX ORM gives you the control you need to be an effective developer, helping you create more flexible and higher quality applications faster.


JDX Highlights:

Simple, Non-intrusive, and Flexible Design
  • Simple concepts; easy development steps; quick learning curve
  • No need to inherit from a base class or implement any special interfaces
  • No static generation and maintenance of large amounts of messy code; dynamic mapping engine
  • Easy evolution of object and relational models
  • Flexible usage in any tier of an application – be it standalone, JSP/Servlet based or EJB based
Smart and Elegant Mapping Specification
  • Declarative mapping specifications based on simple grammar
  • Human-readable and easily comprehensible; no need to struggle with complex XML files
  • Compact; most default mapping is automatically deduced; avoids verbosity
  • Normalized and modular specification; no repetition of the same information
  • Most mapping primitives are orthogonal to each other, avoiding unnecessary tight coupling and enabling easy evolution
  • Allows cross-referencing of classes and collections no matter in which order their mappings have been defined
  • Intuitive and flexible ways of mapping complex object structures
  • Mappings for collections and relationships are defined at the object level, not at the relational level; makes it easier to understand and modify such mappings
  • A mapping specification can optionally be stored in and accessed from the database
Support for Complex Object Modeling including Class Hierarchies and JSON Object Persistence
  • Associative and aggregated relationships
  • Persistence-by-reachability
  • 1-to-1, 1-to-many, and many-to-many relationships
  • Multiple options to store class-hierarchy objects
  • Inline storage of attributes of a contained object
  • Implicit attributes whose values are automatically initialized based on RELATIONSHIPs
  • JSON Objects persistence
  • Kotlin Objects persistence
  • Polymorphic queries
Small Set of Simple and Flexible APIs
  • Flexible query options – deep, shallow, and anything in-between. Supports loading of partial objects, sophisticated query predicates (including path-expressions), named queries, polymorphic queries, positional queries, and powerful object-streaming functionality.
  • Aggregated operations
  • Flexible APIs for Stored Procedures
  • Support for instance callback methods, and
  • Dynamic data routing
Lightweight and Optimized Mapping Engine
  • Connection pooling
  • Prepared statements
  • Optimized SQL statements
  • Minimal database trips
  • Caching of metadata
  • Compatible with Docker containers
Object Caching
  • Caching options at individual class level for readonly objects to improve query performance
  • Regular and LRU caches
  • Cache can optionally be backed by clustered caches (e.g., Tangasol Coherence)
High-performance and Scalable Implementation
  • Short code paths
  • Optimistic concurrency control
  • JDX can optionally run in server model
Powerful and Intuitive GUI Tools (JDXStudio and JDXDemo)
  • Excellent packaging of all the needed functionality to simplify mapping configuration (defining and verifying OR-Mapping, creating and reverse-engineering database schema)
  • Well-organized, color-coded panels for quick navigation
  • Extensive online help available at every step of the way
  • Easy to leverage legacy data for OR-Mapping
  • Verify OR-Mapping against a live database
  • OneClickRevelation™ provides instant and interactive insight into your data without a single line of programming
Nifty Components and Facilities to Simplify Development
  • Utility components for pooling JDX handles
  • Persistently unique sequence generators
  • Object-viewing facilities
  • Interactive development of queries using live data
  • Support for instance callback methods
Works with Most Popular Databases, Existing Schema, and Application Servers
  • Supports Oracle, SQL Server, DB2, Sybase, MySQL, Postgres, Pointbase, Interbase, JDataStore, HSQLDB, Cloudscape, Access, and JDBC data sources
  • Easily reverse-engineer an object model from any existing relational schema
  • Mapping-in-the-middle for existing object models and schema including stored procedures
  • APIs for SQL bypass
  • Works with WebLogic, Websphere, JRun, Tomcat, and other J2EE servers
  • JNDI look up for data sources
  • Integrates with external transaction managers
  • Works with JSP, Servlets, EJBs and Standalone programs
Robust and Market-Proven Technology
  • Progressively enhanced based on feedback from thousands of users over many years
  • Proven enterprise-class technology being used in real-world applications
  • Great customer testimonials
Affordable Pricing and Quick ROI
  • Nominal developer seat pricing without runtime royalties
  • More modular and better performing applications
  • Increased programmer productivity
  • Reduced risks and faster time-to-market