Hibernate就像C ++层一样

时间:2009-01-17 20:05:39

标签: c++ hibernate persistence freeze-thaw

使用带有C ++的数据库是一个真正的混乱,当我转移到Java时能够使用统一的系统来抽象整个层(也就是Hibernate),这是令人耳目一新的。

有几个C ++抽象层用于DB,但它们通常是特定于供应商的,只有一个包含真实C API的薄层。有没有人遇到更像hibernate for C ++的东西,或者知道正在查看这个问题域的组或开源项目。

6 个答案:

答案 0 :(得分:7)

我不知道任何像Hibernate这样的C ++库,但肯定有非特定于供应商的库:SOCIDTL

答案 1 :(得分:3)

我们开发了一个名为 QHibernate 的开源库。

QHibernate是C ++和Qt Framework的Hibernate ORM(对象关系映射)端口。当前版本是概念证明工作。它与PostgreSQL 9.4和Qt 5.4.1一起使用。

功能

  • Qt5
  • PostgreSQL
  • 类映射xml
  • 类映射xml
  • Hibernate配置xml
  • 一对多,一对一,多对一映射

您可以在此处找到一些详细信息,来源和下载链接: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上找到它 它带有完整的书面文档。