Thought inc.

The Dynamic O/R Mapping Company

features overview
> pure pojo - ejb3
> magic mapper
> high performance
> product tours
> o/r mapping
> querying solutions
> cocobase is free
> eclipse, spring
> technical spec's
> whitepapers

  tech support

technical specifications  

CocoBase® Version 5.5

Key NEW Features Version 5.5 (SR2)

  • New Eclipse plug-in GUI editors with project outline, problem view integration and more
  • Revised and enhanced Eclipse plug-in Project Wizard
  • New Eclipse plug-in JDBC Preferences page for JDBC connection setup in Eclipse
  • New Eclipse JPA Wizard for rapidly configuring and generating baseline JPA applications in Eclipse
  • New documentation and help system with detailed information about the new CocoBase Eclipse Plug-in
  • Minor GUI and runtime fixes

Features Version 5.5 (SR1)

  • Easily extensible caching architecture with default jvm and jms caching implementations included
  • Automatic detection of unmapped columns with auto-mapping wizard
  • Automatic detection of generated sql maps that are out-of-date and need to be rebuilt
  • Table synchronization wizard
  • class synchronization wizard
  • Automatic detection of tables that have been modified and become are out-of-sync
  • Automatic detection of classes that have been modified and become are out-of-sync
  • Improved Eclipse project wizard plugin generates project setup for synchronization
  • Syntax highlighting in SQL DDL script generation and execution
  • Improved repository constraint rule checks
  • Additional optimizations to the JPA runtime
  • Several GUI and runtime enhancements

Features Version 5.5

  • Integration with Microsoft .NET
  • Minor GUI and runtime fixes
Features Version 5.2
  • Certified compliant EJB3/JPA provider implementation, fully certified for Oracle, DB2, Sybase Enterprise and Microsoft SQL Server
  • New Java/JPA code view GUI pane with syntax highlight and instant code update
  • Full Spring and CocoBase JPA Integration having the Spring PetClinic demo as a working example
  • JPA entity code generation with annotation tags and with standard EJB-3/JPA jar build included
  • Improved logging facility and filtering with DEBUG_LEVEL setting
  • New Primary Key contraint setting for Composite mappings
  • New Primary Key Class constraint setting for Class mappings
  • New findByPrimaryKey() method in the Persistence Manager API
  • Support to native update queries
  • Additional improvements to JPA metadata parsing and the JPA runtime
  • Improved JPA importer now preserves original code reflection metadata
  • Improved GUI reponse to editing keystrokes (ctrl-c, ctrl-v, etc.)

Features Version 5.1

  • Full and complete JSR-220 (JPA/EJB3) specification support for POJOs and Annotated Entities with full EJBQL3 query language support
  • Workbench Tool import wizard for JPA Persistence Unit definition and Annotated Entity Classes
  • Workbench GUI support for routing Database operations through Stored Procedures
  • Direct code generation from Stored Procedure maps
  • Updated Code generation templates to support auto-generation of lazy load 1-1 relationship proxy objects.
  • Updated JDBC 3 Identity support is now available

Key Features Version 5.0

  • PURE POJO Persistence - no extensions / annotations or any other bytecode change required for POJO or EJB3
  • PURE POJO high performance "3x faster than JDBC" and batch processing that smartly only updates changed info
  • Completely New GUI's - Magic Mapper / Workbench
  • Magic Mapper automaps tables with objects in seconds
  • Totally decoupled mapping repository architecture that allows projects / maps to be stored in variety of formats
  • Custom SQL on all CRUD Operations at design or runtime
  • Spring Integration that includes JPetStore example
  • Eclipse integration of Workbench and Magic Mapper
  • Workbench integrated FLASH product tours

Persistence Features

  • Centralized repository based mapping technology
  • PURE POJO™ Persistence
  • XML and database repository formats
  • Relational database server independent
  • Application model independent
  • Sessionless "Off-line App" Data Persistence
  • 100% non-intrusive transparent persistence
    .....* No source or byte code post-processing
    .....* No proprietary interfaces or superclasses

O/R Data Mapping

  • Direct field-to-column mapping
  • Multiple table to single object mapping
  • Multiple object to single table mapping
  • Inheritance mapping
  • Operation based SQL management
  • Single and composite key support
  • Comprehensive JOIN support
  • Supports stored procedures and functions
  • Supports proprietary SQL (i.e. dialects) on all
  • Supports any sequence generation strategy
  • Supports multiple sequence generators per map
  • Support for cartesian products & other denormalized
  • Supports JDBC 1.1 & 1.2 datatypes (e.g. ARRAY
    CLOB, BLOB, etc.)
  • Configurable read-only & write-only field mapping
  • Configurable optimistic & pessimistic locking
  • Support for multiple inheritance mapping strategies
    in a single class hierarchy
  • Classless mapping (no Java business class

O/R Relationship Mapping

  • Uni- & bi-directional relationships
  • 1:1, 1:M & M:M relationships
  • Cascade control (e.g. cascade deletion) on all
    operations, & in local and distributed environments
  • Local and distributed lazy loading
  • Automatic key constraint management (maintains
    referential integrity by proper ordering of database
  • Supports recursive object graphs to any level of
  • Out of the box relationship proxies for dynamic link
    loading and management
  • Relationship proxies for Java 1.1 & 1.2 collection
  • Relationship proxies for 1:1 field types
  • Extension framework for custom relationship
    proxy classes


  • JIT optimized runtime
  • Out of the box 200% - 300% performance advantage
    over hand coded JDBC
  • Up to 4000% performance improvement with optimal
    configuration and Caching
  • Dynamic Transparent Batch Handling Of Multiple Sets Of Entire Object Models Using Automatic And Intelligent Batched Inserts, Updates And Deletes increases batch performance 200 - 500%.

Persistence API

  • No SQL or JDBC required in application code
  • Persistence by reachability for all operations
  • Customizable instance factories (e.g. polymorphic
  • Customizable persistence plug-ins (e.g. data
    conditioning pre & post - JDBC layer access)
  • Layered API architecture with extensive
    documentation and examples
  • High level CBFacade API for local or distributed,
    object & object graph life cycle management
  • CBFacade architecture provided as source code
  • Object oriented transactions w/ smart updates
  • Batch updates
  • Development Tools
  • UML/XMI, class & table importers render complete
    data models in seconds
  • GUI integrations for major IDEs focus on business
    application development
  • Map repository export feature allows easy porting
    from development to deployment platforms
  • Free form SQL and EJB-QL test consoles
  • Command line tools available for scripting

CocoBase Dynamic Querying

  • Built-in query by example system for field based
  • Query builder API for complex querying
  • Declarative EJB-QL API for dynamic querying
  • Abstraction allows map based queries to be
    database schema independent
  • Object based & relational based queries can be
    combined through a common base infrastructure
  • Raw SQL can be embedded within any query
  • Local and distributed scrollable cursor based
  • Supports projections and classless querying
  • Support for scalar functions (i.e. count, max, etc.)
  • Ability To Query Subsets Of Complex Data With EJBQL 3.0 so that developers Can Query Multi-Field Projections Which Allows Portions Of An Object (Or Multiple Objects) To Be Queried Into A Single Result Set Object.

Enterprise Highlights

  • Smart reconciliation - object identities preserved
    across serialized copies
  • 2 to N tier architectures fully supported
  • Local, shared (single server) or distributed (peer to
    peer) caching
  • Supports J2EE distributed transactions
  • Seamless CMP & BMP integrations
  • Configurable, multi-level debug & SQL listings


  • 100% pure Java
  • Works with any JDBC 1.1 or 1.2 compliant driver
  • Works with JDBC 1.1 & 1.2 datasources
  • J2EE Integrations with major application / EJB servers
  • GUI toolset integrations with major IDEs