在C++中使用數據庫是一個真正的混亂,當我移動到Java以便能夠使用統一的系統將整個圖層抽象出來(也就是Hibernate)時,它是令人耳目一新的。用於C++的休眠類層
DB有幾個C++抽象層,但它們通常是供應商特定的,只是一個包裝真實C API的薄層。有沒有人遇到過更像是用於C++的hibernate,或者知道正在查看此問題域的組或開源項目。
在C++中使用數據庫是一個真正的混亂,當我移動到Java以便能夠使用統一的系統將整個圖層抽象出來(也就是Hibernate)時,它是令人耳目一新的。用於C++的休眠類層
DB有幾個C++抽象層,但它們通常是供應商特定的,只是一個包裝真實C API的薄層。有沒有人遇到過更像是用於C++的hibernate,或者知道正在查看此問題域的組或開源項目。
如果您使用C++與.Net,然後使用nhibernate。 2.0與hibernate 3.0大致相同,並且非常健壯。
我覺得你的痛苦。您將很快使用單獨的庫來訪問數據庫,XML處理,線程以及其他應用程序通常需要的所有其他庫。出於這個原因,我經常使用Qt,它提供了程序(數據庫訪問,XML處理,線程,GUI小部件等)中經常需要的常用功能。他們的SQL類非常體面,可以處理很多數據庫。但它不像許多對象關係映射器那樣將SQL抽象出來。
不久,問題的標準答案不僅包括「提升」,而且還包括「Qt 「 哈哈。 +1 – 2009-01-18 20:25:48
另一種方法是一個C++對象< - > XML映射像codesynthesis xsd
我從來不喜歡它打破了太多,如果您需要更改類直接休眠/序列化的方式。
我們開發了一個名爲的開源庫,QHibernate。
QHibernate是用於C++和Qt框架的Hibernate ORM(對象關係映射)端口。當前版本是概念工作的證明。它與PostgreSQL 9.4和Qt 5.4.1一起使用。
特點
你可以在這裏找到一些細節,來源和下載鏈接:QHibernate
你見過:http://www.sqlapi.com/ – gideon 2015-03-15 17:44:12