Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. ORM for Qt
QtWS25 Last Chance

ORM for Qt

Scheduled Pinned Locked Moved General and Desktop
ormdatabase
37 Posts 10 Posters 42.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V Offline
    V Offline
    victorzhuk
    wrote on 11 May 2013, 23:29 last edited by
    #13

    here it is http://ubuntuone.com/5wimYZQnJJlcQCBo5pDpS6

    1 Reply Last reply
    0
    • V Offline
      V Offline
      victorzhuk
      wrote on 11 May 2013, 23:36 last edited by
      #14

      For demo success working you should compile EOrm and add .so(.dll) and *.h files to EOrmDemo project (just replace paths in *.pro file)

      1 Reply Last reply
      0
      • M Offline
        M Offline
        mbnoimi
        wrote on 11 May 2013, 23:50 last edited by
        #15

        [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
        1 Reply Last reply
        0
        • M Offline
          M Offline
          mbnoimi
          wrote on 11 May 2013, 23:55 last edited by
          #16

          until that date, could you please add some exmpales to your Git repository instead of this quick example?

          1 Reply Last reply
          0
          • V Offline
            V Offline
            victorzhuk
            wrote on 12 May 2013, 00:04 last edited by
            #17

            sure :) how can I help you? what tests?

            1 Reply Last reply
            0
            • M Offline
              M Offline
              mbnoimi
              wrote on 12 May 2013, 00:12 last edited by
              #18

              [quote author="victorzhuk" date="1368317045"]sure :) how can I help you? what tests?[/quote]

              I'm planning to apply some complicated queries with millions of records on stable database server (ex. MySQL or Postgresql)

              1 Reply Last reply
              0
              • V Offline
                V Offline
                victorzhuk
                wrote on 12 May 2013, 00:18 last edited by
                #19

                lets try :) about examples - I find a time and upload some in git, with find,model,create,delete etc.. hope its help somebody

                1 Reply Last reply
                0
                • M Offline
                  M Offline
                  mbnoimi
                  wrote on 12 May 2013, 00:22 last edited by
                  #20

                  [quote author="victorzhuk" date="1368317891"]lets try :) about examples - I find a time and upload some in git, with find,model,create,delete etc.. hope its help somebody[/quote]

                  Thanks... this will ease comparing process.

                  1 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    mbnoimi
                    wrote on 27 May 2013, 03:55 last edited by
                    #21

                    Guys, I found this library which may works too. I'll add it for performance comparison.
                    https://sourceforge.net/projects/qtpersistence/?source=directory

                    1 Reply Last reply
                    0
                    • M Offline
                      M Offline
                      mbnoimi
                      wrote on 27 May 2013, 04:07 last edited by
                      #22

                      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...

                      1 Reply Last reply
                      0
                      • S Offline
                        S Offline
                        Skh1002
                        wrote on 11 Jul 2013, 21:30 last edited by
                        #23

                        Hi mbnoimi,

                        I wonder how your testing is going on. I am facing a similar problem, and I am undecided between ODB, QxOrm, and QDjango. For me, licensing is less of an issue, but performance and features are.

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          mbnoimi
                          wrote on 11 Jul 2013, 21:51 last edited by
                          #24

                          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)

                          1 Reply Last reply
                          0
                          • S Offline
                            S Offline
                            Skh1002
                            wrote on 11 Jul 2013, 22:16 last edited by
                            #25

                            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?

                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              mbnoimi
                              wrote on 11 Jul 2013, 22:31 last edited by
                              #26

                              [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 QDjango

                              bq. 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

                              1 Reply Last reply
                              0
                              • S Offline
                                S Offline
                                Skh1002
                                wrote on 11 Jul 2013, 22:58 last edited by
                                #27

                                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.

                                1 Reply Last reply
                                0
                                • M Offline
                                  M Offline
                                  mbnoimi
                                  wrote on 11 Jul 2013, 23:08 last edited by
                                  #28

                                  Me too, but that didn't stops me to use it because it suppose to work for Qt4 and Qt5.

                                  1 Reply Last reply
                                  0
                                  • S Offline
                                    S Offline
                                    Skh1002
                                    wrote on 12 Jul 2013, 16:02 last edited by
                                    #29

                                    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.

                                    1 Reply Last reply
                                    0
                                    • S Offline
                                      S Offline
                                      Skh1002
                                      wrote on 15 Jul 2013, 22:24 last edited by
                                      #30

                                      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.

                                      1 Reply Last reply
                                      0
                                      • Q Offline
                                        Q Offline
                                        qxorm
                                        wrote on 14 Dec 2013, 12:15 last edited by
                                        #31

                                        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/

                                        1 Reply Last reply
                                        0
                                        • M Offline
                                          M Offline
                                          mbnoimi
                                          wrote on 22 Dec 2015, 12:02 last edited by mbnoimi
                                          #32

                                          After years of this post, Qt still without a practical open source ORM :(

                                          The only reliable option is QxOrm which is useless without QxEntityEditor because it's complicated without it but QxEntityEditor is commercial product so I'm still using the old way with Qt.

                                          Cheers

                                          1 Reply Last reply
                                          0

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved