ORM for Qt
-
[quote author="victorzhuk" date="1368314480"]http://rapidshare.com/files/549905365/EOrmDemo.tar.gz please[/quote]
It's not working!!! use another sharing website please (try one.ubuntu.com)
[quote]
The download for this file has not been enabled. Only the user who uploaded it, can enable the download option.
[/quote] -
here it is http://ubuntuone.com/5wimYZQnJJlcQCBo5pDpS6
-
For demo success working you should compile EOrm and add .so(.dll) and *.h files to EOrmDemo project (just replace paths in *.pro file)
-
[quote author="victorzhuk" date="1368314994"]here it is http://ubuntuone.com/5wimYZQnJJlcQCBo5pDpS6[/quote]
Thanks, I successfully run the example :) it's quite easy to understand... I think eorm's performance should be as Qt's model.
Any way, I've to test it in heavy and excessive usage then compare it with the above libraries in addition to Qt standard model, this may take some time because I'm busy these days.
Do you want to share with me these tests?
I want to test:
- eorm
- QDjango
- Standard Qt model
-
sure :) how can I help you? what tests?
-
let
s try :) about examples - I find a time and upload some in git, with find,model,create,delete etc.. hope it
s help somebody -
Guys, I found this library which may works too. I'll add it for performance comparison.
https://sourceforge.net/projects/qtpersistence/?source=directory -
Until now I'm planning to test:
- eorm: https://github.com/victorzhuk/eorm
- QDjango: https://code.google.com/p/qdjango/
- QsT SQL Tools: https://sourceforge.net/projects/qstsqltools/?source=directory
- QtPersistence: https://sourceforge.net/projects/qtpersistence/?source=directory
- Standard Qt model
I'm still looking for others...
-
The Best performance was for QDjango, QxOrm and Standard Qt model. All three techniques gave same result in many cases but QxOrm is the best from features prespactive while QDjango is the best from simplicity and rapid usage.
Personally I use QDjango because it fits my needs while I left QxOrm becasue of license issue (actually it's heavy by comparing to QDjango)
-
I am leaning towards QDjango as well, but there are still a few questions left, one of which is about relationships. QxOrm supports them, but I guess I have to implement it myself with QDjango. Do you have experience maintaing relationships with QDjango?
Also, I noticed that QDjango uses API deprecated in Qt5 (I had to specifically enable it to build the lib). Does this bother you at all? -
[quote author="Skh1002" date="1373580970"]I am leaning towards QDjango as well, but there are still a few questions left, one of which is about relationships. QxOrm supports them, but I guess I have to implement it myself with QDjango. Do you have experience maintaing relationships with QDjango? [/quote]
I'm just like you I'm still working on it and I don't know how to connect to relationships with QDjangobq. Also, I noticed that QDjango uses API deprecated in Qt5 (I had to specifically enable it to build the lib). Does this bother you at all?
Which version you're using? I use 0.4 which works in Qt5
P.S. for more info you can join to "QDjango mailing list":http://groups.google.com/group/qdjango
-
I have the same version as you, but in Qt5.1 (with which I compiled it) some of the now deprecated API QDjango uses are removed by default. I don't know in which version of Qt this started. I had to insert something like
@
DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x040800
@
somewhere in qdjango.pri to compile it properly. -
I have just looked into the test suite bundled with QDjango and there are cases for one-to-many and many-to-many relationships. So, apparently, there is support of such relationships. I will give it a spin to see how convenient it is compared to pure Qt.
-
It appears that there is no relationship support in QDjango, after all. You can only emulate relationships with query sets on foreign keys. Further on, to create a many-to-many relationship between two entities, one must create a third one (equivalent to a separate foreign key table) and then filter query sets based upon that third entity. That's all very much doable, but basically amounts to hand-coding all of relationship management.
QxOrm does provide relationship support, so it may be more convenient to use if you need to maintain many relationships and/or fiddle with them a lot. I think I am still going to try QDjango first and fall back on QxOrm if it does not work out.
Please, let me know of your experience with QDjango. I will post my impressions after I play with it.
-
Hi,
I'm the developer of QxOrm library.
FYI, we have released QxEntityEditor to make easier to work with QxOrm library : now, you can design your data model in few minutes and generate quickly a Qt/C++ project (and the SQL database associated).
More details here : "http://qt-project.org/forums/viewthread/35932/":http://qt-project.org/forums/viewthread/35932/