2009-01-17 29 views
8

在C++中使用數據庫是一個真正的混亂,當我移動到Java以便能夠使用統一的系統將整個圖層抽象出來(也就是Hibernate)時,它是令人耳目一新的。用於C++的休眠類層

DB有幾個C++抽象層,但它們通常是供應商特定的,只是一個包裝真實C API的薄層。有沒有人遇到過更像是用於C++的hibernate,或者知道正在查看此問題域的組或開源項目。

+0

你見過:http://www.sqlapi.com/ – gideon 2015-03-15 17:44:12

回答

7

我不知道像Hibernate任何C++庫,但肯定也有非供應商特定庫:SOCIDTL

0

如果您使用C++與.Net,然後使用nhibernate。 2.0與hibernate 3.0大致相同,並且非常健壯。

2

我覺得你的痛苦。您將很快使用單獨的庫來訪問數據庫,XML處理,線程以及其他應用程序通常需要的所有其他庫。出於這個原因,我經常使用Qt,它提供了程序(數據庫訪問,XML處理,線程,GUI小部件等)中經常需要的常用功能。他們的SQL類非常體面,可以處理很多數據庫。但它不像許多對象關係映射器那樣將SQL抽象出來。

+1

不久,問題的標準答案不僅包括「提升」,而且還包括「Qt 「 哈哈。 +1 – 2009-01-18 20:25:48

0

另一種方法是一個C++對象< - > XML映射像codesynthesis xsd
我從來不喜歡它打破了太多,如果您需要更改類直接休眠/序列化的方式。

2

我們開發了一個名爲的開源庫,QHibernate

QHibernate是用於C++和Qt框架的Hibernate ORM(對象關係映射)端口。當前版本是概念工作的證明。它與PostgreSQL 9.4和Qt 5.4.1一起使用。

特點

  • QT5
  • 的PostgreSQL
  • 類映射XML
  • 類映射XML
  • Hibernate配置XML
  • 一對許多人來說,一個對一,許多一對一映射

你可以在這裏找到一些細節,來源和下載鏈接:QHibernate