Hibernate like layer for C++

大城市里の小女人 提交于 2019-12-03 06:39:26

I don't know of any C++ library like Hibernate, but certainly there are non-vendor specific libs: SOCI and DTL

We developed an open source library named QHibernate.

QHibernate is a Hibernate ORM(Object Relation Mapping) port for C++ and Qt Framework. Current version is a proof of concept work. It is used with PostgreSQL 9.4 and Qt 5.4.1.

Features

  • Qt5
  • PostgreSQL
  • Class mapping xml
  • Class mapping xml
  • Hibernate configuration xml
  • one-to-many, one-to-one, many-to-one mappings

You can find some details, source and download links here: QHibernate

I feel your pain. You'll quickly be using separate libraries for database access, XML processing, threading, and everything else applications commonly need. For this reason I often use Qt, which provides most common functionality often need in programs (database access, XML processing, threading, GUI widgets, etc.). Their SQL classes are pretty decent and work with many databases. But it does not abstract SQL away like many object-relation mappers.

If you're using C++ with .Net, then use nhibernate. 2.0 is approximately the same as hibernate 3.0, and is extremely robust.

Another approach is a C++ object <-> xml mapping like codesynthesis xsd
I never liked the direct hibernate/serialisation approach it breaks too much if you ever need to change the class.

There is now a completely in C++ written Hibernate layer. You can find it at github at edwig/CXHibernate. It comes with full written documentation.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!