使用带有C ++的数据库是一个真正的混乱,当我转移到Java时能够使用统一的系统来抽象整个层(也就是Hibernate),这是令人耳目一新的。
有几个C ++抽象层用于DB,但它们通常是特定于供应商的,只有一个包含真实C API的薄层。有没有人遇到更像hibernate for C ++的东西,或者知道正在查看这个问题域的组或开源项目。
答案 0 :(得分:7)
答案 1 :(得分:3)
我们开发了一个名为 QHibernate 的开源库。
QHibernate是C ++和Qt Framework的Hibernate ORM(对象关系映射)端口。当前版本是概念证明工作。它与PostgreSQL 9.4和Qt 5.4.1一起使用。
功能
您可以在此处找到一些详细信息,来源和下载链接:QHibernate
答案 2 :(得分:2)
我感觉到你的痛苦。您将很快使用单独的库来进行数据库访问,XML处理,线程以及其他通常需要的应用程序。出于这个原因,我经常使用Qt,它提供了程序中经常需要的最常见功能(数据库访问,XML处理,线程,GUI小部件等)。他们的SQL类非常不错,适用于许多数据库。但它并没有像许多对象关系映射器那样抽象SQL。
答案 3 :(得分:0)
如果你正在使用.Net的C ++,那么使用nhibernate。 2.0与hibernate 3.0大致相同,并且非常强大。
答案 4 :(得分:0)
另一种方法是C ++对象< - >像codesynthesis xsd这样的xml映射 我从不喜欢直接的休眠/序列化方法,如果你需要更改类,它会破坏太多。
答案 5 :(得分:0)
现在有一个完全用C ++编写的Hibernate层。 您可以在edwig/CXHibernate.的github上找到它 它带有完整的书面文档。