YB.ORM 0.4.8

YB.ORM is a object-relational mapper for C++. It was inspired by Hibernate and SQLAlchemy and should be database-independent. It provides C++ code generation for domain objects, which can be synchronized with new table definitions as kept in XML meta files, but also provides JSON serialization. YB.ORM was tested with MySQL, Oracle, SQLite, Firebird, Postgres, MSSQL and can utilize ODBC, SOCI and other drivers.

Tags c++ orm database dao code-generator odbc
License MITL
State beta

Recent Releases

0.4.812 Apr 2016 03:16 minor bugfix: Broken DomainObj::find(); warnings. Broken method Property::is_null(); More checks not to dereference NULL pointer. Possible buffer underrun. Sync micro_http with card-proxy. Problem with removing of non existent backup file. #28: ing defects found by Coverity Scan. #26: do not throw on saving a DataObject twice;. Check if logger is present in EngineBase. #25: for msvc. Resource exhaustion handling in main loop of micro_http listener. #25: apply aliases for generated SELECT statements. #25: generate short mnemonic aliases for tables. Move the interlocked connection opening logic from drivers to SqlPool. Make it optional #24: do not use placement new/direct destructor calls: gcc5.2.1 ?. Improve performance of operations with keys: optimized for int IDs. Micro_http: Support setting back log size on a listening socket. Adjust logger format. Simplify logic of SqlPool. Logger: get/set/check the log level. ElementTree: easy access attributes with @ pre Update micro_http server and TcpSocket wrapper class. Important: start a transaction on first select if explicit transaction is required;. Pool: reopen a DB connection when got a DB error and no activity seen yet on the connection;. Micro_http: added HttpHeaders class implementation in Auth example;. Micro_http: analyze Content-Type more correctly;. Micro_http: allow to set response body with no additional headers. XInclude processing for LibXML2. Broken object construction for explicit joins;. Rename class ObjectList - DataObjectList. Added test for explicit joins. do not thow from destructor even if a connection fails to rollback.
0.4.701 Mar 2015 09:25 minor feature: New SQL dialect supported: MSSQL. Tested on Linux (TDS) and Windows (Native Client 10). Explicit .select_from() and .join() modifiers for QueryObj. Utility yborm_gen can now be used to create schema objects in database (--populate-schema) as well as to drop them (--drop-schema) in a correct order. Utility yborm_gen can help extract the database schema and store it into XML format (--extract-schema). Proper support for 'LIKE' and 'IN' operators. Fix comparison of Property instances. Make use of std::tuple if it's available (GCC = 4.6, MSVC = 2013). CMake: build-system fixes to allow easy selection of Boost instance. Windows: move third party components (Boost, CppUnit, LibXML2, SQLite) into separate folders, pack up prebuilt third party libraries for certain versions of MSVC and MinGW. Allow to compile in SQLite3 sources into YB.ORM dll. Fix Automake/CMake scripts to support building YB.ORM with Qt5 on Linux and Windows. Auth example: Fix possible endless loop in HTTP code.
0.4.624 Oct 2014 02:05 minor feature: New optional inline syntax for describing the mapping scheme within a class declaration, based on macros. Porting tut2 and tut4 examples to the new declaration syntax instead of using XML configs. Support .range() pager in queries for different SQL dialects, also add .first() filter based on that pager. Updated documantation. Simple constructor for Session that accepts the connection string. It's possible now to construct the Session with a native connection, for example soci::session. Logger can be set in Session, no need to explicitly create Engine object, in simple cases. Schema object can export its current configuration to XML or SQL. New options object for SQL generation procedure. Many fixes to the build scripts. Auth example: Fix TcpSocket::read*() to use select() and a buffer.