{"id":24505539,"url":"https://github.com/kamaroly/yb-orm","last_synced_at":"2025-03-15T08:41:46.132Z","repository":{"id":28979470,"uuid":"32505962","full_name":"kamaroly/yb-orm","owner":"kamaroly","description":"Automatically exported from code.google.com/p/yb-orm","archived":false,"fork":false,"pushed_at":"2015-03-19T07:03:30.000Z","size":5040,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-21T23:32:04.837Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"swimlane/ngx-datatable","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kamaroly.png","metadata":{"files":{"readme":"README","changelog":"CHANGES","contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-19T07:00:55.000Z","updated_at":"2015-03-19T07:01:41.000Z","dependencies_parsed_at":"2022-08-17T20:15:16.874Z","dependency_job_id":null,"html_url":"https://github.com/kamaroly/yb-orm","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamaroly%2Fyb-orm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamaroly%2Fyb-orm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamaroly%2Fyb-orm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kamaroly%2Fyb-orm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kamaroly","download_url":"https://codeload.github.com/kamaroly/yb-orm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243707297,"owners_count":20334614,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-21T23:30:18.480Z","updated_at":"2025-03-15T08:41:46.115Z","avatar_url":"https://github.com/kamaroly.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nABOUT\n\nYB.ORM tool is developed to simplify for C++ developers creation of\napplications that work with relational databases. An Object-Relational Mapper\n(ORM) works by mapping database tables to classes and table records to objects\nin some programming language. This approach may be not optimal for each and\nevery database application, but it proved to be reasonable in applications\nthat require complex logic and transaction handling. The goals of YB.ORM\nproject are: provide a convenient API for C++ developers, retain high\nperformance of C++, keep the source code easily portable across different\nplatforms, support most major relational DataBase Management Systems (DBMS).\n\nTypical usage scenario is the following:\n  * Describe your database schema i.e. tables with their columns and\n    relationships between tables in simple XML-based format\n    (see doc/XmlFormat.en.html).\n  * Use the code generation tool provided to produce C++ domain classes for\n    your tables (see doc/Tutorial1.en.html).\n  * Add your application-specific logic to the classes.\n  * Should you make changes to the database schema, you then use the code\n    generation tool to synchronize previously generated C++ classes with the\n    schema.\n  * Optionally, use the code generation tool to issue SQL statements to\n    populate your empty database schema with tables.\n  * Now you can use the domain classes in cooperation with Session object to\n    automate the following tasks:\n      + create new objects or delete existing objects;\n      + query objects from database, using object-based queries\n        (see doc/Tutorial3.en.html);\n      + modify existing objects by just assignment to objects' fields;\n      + link and unlink objects to/from each other using relations\n        (see doc/Tutorial2.en.html);\n      + serialize your objects into XML and JSON.\n\nThis tool employs many ideas explained in the book \"Patterns of Enterprise\nApplication Architecture\" by Martin Fawler. Such patterns as \"Lazy Load\",\n\"Identity Map\", \"Unit of Work\", etc. Also, the project development was\ninspired by the power of Hibernate framework (http://www.hibernate.org/)\nfor Java, and especially by the design of SQLAlchemy\n(http://www.sqlalchemy.org/) for Python.\nSome details of how it works are here: doc/Internals.en.html.\n\nSTATUS\n\nAt the moment, YB.ORM tool works in Linux, Mac OS X and Windows. It can be\nbuilt using the following compilers: GCC, CLang, MinGW, MSVC 2008/2010, also\nBorland C++ Builder, see Building Instructions (doc/Build.en.html).\n\nYou can build YB.ORM library against your toolkit of choice: Boost, Qt, or\nwxWidgets; their native data types will be used for strings, date and time,\nthreads, XML parsing, etc.\n\nThe tool was tested to work with the following SQL databases: MySQL, Oracle,\nSQLite, Firebird, Postgres. To connect to a database you have these options:\n  * ODBC drivers\n  * popular database connectivity C++ library SOCI\n    (http://soci.sourceforge.net/)\n  * database drivers for Qt library: QtSql\n  * there is native driver for SQLite.\n\nOptionally, use connection pooling the library provides. Look here for\ndetails: Connecting to database (doc/SqlDriver.en.html).\n\nThe basic functionality of YB.ORM was tested on several little projects, and\nproved to be usable. Keep in mind, that the tool is under development and its\nAPI may change between releases. Some interesting features are still to be\nimplemented (see ToDo list: doc/ToDo.en.html).\n\nAUTHORS\n\nProject has started in late 2006 as a part of billing system for on-line ads\nat Yandex company (http://www.yandex.com/) by Viacheslav Naydenov (me) and\nSergey Chmelev. \"YB\" used to stand for Yandex.Balance, the name for the\nbilling system. Today YB.ORM project is not affiliated with Yandex company.\nThe source code was released in early 2011 under open source license, since\nthen the code has been mostly rewritten. Thanks to the author of tiny odbc\nwrapper (http://code.google.com/p/tiodbc/), whose code is used as a base for\nthe first usable SQL driver (OdbcDriver class). Also, I would like to mention\nthe feedback and contribution from several students of Moscow State Open\nUniversity (MSOU), where I was using this piece of software as a case study.\nThe list of contributors:\n\n    Viacheslav Naydenov, vaclav at yandex dot ru - main developer\n    Sergey Chmelev, halty at yandex dash team dot ru - early contributor\n    SqUe, squarious at gmail dot com - tiodbc code\n    Nikita Buyvich, buyvich at gmail dot com - MSOU\n    Viacheslav Fedorov, funny dash story at yandex dot ru - MSOU\n    Andrey Skobenkov, andrey dot skobenkov at gmail dot com - MSOU\n\nAny feedback, patches or comments are welcome!\n\n-- \nViacheslav Naydenov\n18 june 2013\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkamaroly%2Fyb-orm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkamaroly%2Fyb-orm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkamaroly%2Fyb-orm/lists"}