From rgolan at redhat.com Tue Apr 21 08:15:56 2015 Content-Type: multipart/mixed; boundary="===============7422275469566069000==" MIME-Version: 1.0 From: Roy Golan To: devel at ovirt.org Subject: Re: [ovirt-devel] JPA in oVirt Date: Tue, 21 Apr 2015 15:15:53 +0300 Message-ID: <55363F79.6010105@redhat.com> In-Reply-To: CAJ3aYLcC4nFg3rnZcTL0brRB-9KqeUFQx9uZetrdEQPRgNgYfA@mail.gmail.com --===============7422275469566069000== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable This is a multi-part message in MIME format. --------------070500080101080007050100 Content-Type: text/plain; charset=3Dwindows-1252; format=3Dflowed Content-Transfer-Encoding: 7bit On 04/21/2015 01:43 PM, Liran Zelkha wrote: > Hi > > After a very long development cycle, we have finally introduced CDI = > and JPA technologies into oVirt. > This means that in the next few month you'll see more and more of our = > stored procedures replaced with JPA code, which will allow us to have = > easier entity mapping and enjoy performance boost with caching. > kudos Liran, the modernization of our code-base is a very important = goal. Those aren't just nice toys to play with. > Some things to keep in mind: > 1. When implementing a DAO class, please make sure to annotate it with = > the @Named and @Singleton annotations. note: this practice is temporary and it should be updated > 2. The engine-daos.properties file is no longer needed, and is removed = > from our code. > 3. If you want to migrate your own DAO to work with JPA, please look = > at the Bookmark, BookmarkDaoDbFacadeImpl and BookmarkDaoTest classes = > (see patch https://gerrit.ovirt.org/#/c/33836/). > > There is a simple infrastructure that will allow you to do most of the = > things you need quite easily. If something is missing - please drop me = > an email to lzelkha(a)redhat.com - I'll be = > happy to assist. > > Thanks for everyone who took part in this effort - Oved, Moti, Roy, = > Yevgeny and everyone else. > > > _______________________________________________ > Devel mailing list > Devel(a)ovirt.org > http://lists.ovirt.org/mailman/listinfo/devel --------------070500080101080007050100 Content-Type: text/html; charset=3Dwindows-1252 Content-Transfer-Encoding: 8bit
On 04/21/2015 01:43 PM, Liran Zelkha wrote:
Hi

After a very long development cycle, we have finally introduced CDI and JPA technologies into oVirt.
This means that in the next few month you'll see more and more of our stored procedures replaced with JPA code, which will allow us to have easier entity mapping and enjoy performance boost with caching.


kudos Liran, the modernization of our code-base is a very important goal. Those aren't
just nice toys to play with.

Some things to keep in mind:
1. When implementing a DAO class, please make sure to annotate it with the @Named and @Singleton annotations.

note: this practice is temporary and it should be updated

2. The engine-daos.properties file is no longer needed, and is removed from our code.
3. If you want to migrate your own DAO to work with JPA, please look at the Bookmark, BookmarkDaoDbFacadeImpl and BookmarkDaoTest classes (see patch https://gerrit.ovi= rt.org/#/c/33836/).

There is a simple infrastructure that will allow you to do most of the things you need quite easily. If something is missing - please drop me an email to=C2=A0lzelkha(= a)redhat.com=C2=A0- I'll be happy to assist.

Thanks for everyone who took part in this effort - Oved, Moti, Roy, Yevgeny and everyone else.=C2=A0


_______________________________________________
Devel mailing list
Dev=
el(a)ovirt.org
http://lists.ovirt.org/mailman/listinfo/devel


--------------070500080101080007050100-- --===============7422275469566069000== Content-Type: multipart/alternative MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.bin" VGhpcyBpcyBhIG11bHRpLXBhcnQgbWVzc2FnZSBpbiBNSU1FIGZvcm1hdC4KLS0tLS0tLS0tLS0t LS0wNzA1MDAwODAxMDEwODAwMDcwNTAxMDAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFy c2V0PXdpbmRvd3MtMTI1MjsgZm9ybWF0PWZsb3dlZApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5n OiA3Yml0CgpPbiAwNC8yMS8yMDE1IDAxOjQzIFBNLCBMaXJhbiBaZWxraGEgd3JvdGU6Cj4gSGkK Pgo+IEFmdGVyIGEgdmVyeSBsb25nIGRldmVsb3BtZW50IGN5Y2xlLCB3ZSBoYXZlIGZpbmFsbHkg aW50cm9kdWNlZCBDREkgCj4gYW5kIEpQQSB0ZWNobm9sb2dpZXMgaW50byBvVmlydC4KPiBUaGlz IG1lYW5zIHRoYXQgaW4gdGhlIG5leHQgZmV3IG1vbnRoIHlvdSdsbCBzZWUgbW9yZSBhbmQgbW9y ZSBvZiBvdXIgCj4gc3RvcmVkIHByb2NlZHVyZXMgcmVwbGFjZWQgd2l0aCBKUEEgY29kZSwgd2hp Y2ggd2lsbCBhbGxvdyB1cyB0byBoYXZlIAo+IGVhc2llciBlbnRpdHkgbWFwcGluZyBhbmQgZW5q b3kgcGVyZm9ybWFuY2UgYm9vc3Qgd2l0aCBjYWNoaW5nLgo+CgprdWRvcyBMaXJhbiwgdGhlIG1v ZGVybml6YXRpb24gb2Ygb3VyIGNvZGUtYmFzZSBpcyBhIHZlcnkgaW1wb3J0YW50IApnb2FsLiBU aG9zZSBhcmVuJ3QKanVzdCBuaWNlIHRveXMgdG8gcGxheSB3aXRoLgoKPiBTb21lIHRoaW5ncyB0 byBrZWVwIGluIG1pbmQ6Cj4gMS4gV2hlbiBpbXBsZW1lbnRpbmcgYSBEQU8gY2xhc3MsIHBsZWFz ZSBtYWtlIHN1cmUgdG8gYW5ub3RhdGUgaXQgd2l0aCAKPiB0aGUgQE5hbWVkIGFuZCBAU2luZ2xl dG9uIGFubm90YXRpb25zLgoKbm90ZTogdGhpcyBwcmFjdGljZSBpcyB0ZW1wb3JhcnkgYW5kIGl0 IHNob3VsZCBiZSB1cGRhdGVkCgo+IDIuIFRoZSBlbmdpbmUtZGFvcy5wcm9wZXJ0aWVzIGZpbGUg aXMgbm8gbG9uZ2VyIG5lZWRlZCwgYW5kIGlzIHJlbW92ZWQgCj4gZnJvbSBvdXIgY29kZS4KPiAz LiBJZiB5b3Ugd2FudCB0byBtaWdyYXRlIHlvdXIgb3duIERBTyB0byB3b3JrIHdpdGggSlBBLCBw bGVhc2UgbG9vayAKPiBhdCB0aGUgQm9va21hcmssIEJvb2ttYXJrRGFvRGJGYWNhZGVJbXBsIGFu ZCBCb29rbWFya0Rhb1Rlc3QgY2xhc3NlcyAKPiAoc2VlIHBhdGNoIGh0dHBzOi8vZ2Vycml0Lm92 aXJ0Lm9yZy8jL2MvMzM4MzYvKS4KPgo+IFRoZXJlIGlzIGEgc2ltcGxlIGluZnJhc3RydWN0dXJl IHRoYXQgd2lsbCBhbGxvdyB5b3UgdG8gZG8gbW9zdCBvZiB0aGUgCj4gdGhpbmdzIHlvdSBuZWVk IHF1aXRlIGVhc2lseS4gSWYgc29tZXRoaW5nIGlzIG1pc3NpbmcgLSBwbGVhc2UgZHJvcCBtZSAK PiBhbiBlbWFpbCB0byBsemVsa2hhQHJlZGhhdC5jb20gPG1haWx0bzpsemVsa2hhQHJlZGhhdC5j b20+IC0gSSdsbCBiZSAKPiBoYXBweSB0byBhc3Npc3QuCj4KPiBUaGFua3MgZm9yIGV2ZXJ5b25l IHdobyB0b29rIHBhcnQgaW4gdGhpcyBlZmZvcnQgLSBPdmVkLCBNb3RpLCBSb3ksIAo+IFlldmdl bnkgYW5kIGV2ZXJ5b25lIGVsc2UuCj4KPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCj4gRGV2ZWwgbWFpbGluZyBsaXN0Cj4gRGV2ZWxAb3ZpcnQub3Jn Cj4gaHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RldmVsCgoKCi0tLS0t LS0tLS0tLS0tMDcwNTAwMDgwMTAxMDgwMDA3MDUwMTAwCkNvbnRlbnQtVHlwZTogdGV4dC9odG1s OyBjaGFyc2V0PXdpbmRvd3MtMTI1MgpDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Cgo8 aHRtbD4KICA8aGVhZD4KICAgIDxtZXRhIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD13aW5k b3dzLTEyNTIiCiAgICAgIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSI+CiAgPC9oZWFkPgogIDxi b2R5IGJnY29sb3I9IiNGRkZGRkYiIHRleHQ9IiMwMDAwMDAiPgogICAgPGRpdiBjbGFzcz0ibW96 LWNpdGUtcHJlZml4Ij5PbiAwNC8yMS8yMDE1IDAxOjQzIFBNLCBMaXJhbiBaZWxraGEKICAgICAg d3JvdGU6PGJyPgogICAgPC9kaXY+CiAgICA8YmxvY2txdW90ZQpjaXRlPSJtaWQ6Q0FKM2FZTGND NG5GZzNyblpjVEwwYnJSQi05S3FlVUZReDl1WmV0cmRFUVBSZ05nWWZBQG1haWwuZ21haWwuY29t IgogICAgICB0eXBlPSJjaXRlIj4KICAgICAgPGRpdiBkaXI9Imx0ciI+PHNwYW4gc3R5bGU9ImZv bnQtc2l6ZToxMi44MDAwMDAxOTA3MzQ5cHgiPkhpPC9zcGFuPgogICAgICAgIDxkaXYgc3R5bGU9 ImZvbnQtc2l6ZToxMi44MDAwMDAxOTA3MzQ5cHgiPjxicj4KICAgICAgICA8L2Rpdj4KICAgICAg ICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTIuODAwMDAwMTkwNzM0OXB4Ij5BZnRlciBhIHZlcnkg bG9uZwogICAgICAgICAgZGV2ZWxvcG1lbnQgY3ljbGUsIHdlIGhhdmUgZmluYWxseSBpbnRyb2R1 Y2VkIENESSBhbmQgSlBBCiAgICAgICAgICB0ZWNobm9sb2dpZXMgaW50byBvVmlydC48L2Rpdj4K ICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTIuODAwMDAwMTkwNzM0OXB4Ij5UaGlzIG1l YW5zIHRoYXQgaW4gdGhlCiAgICAgICAgICBuZXh0IGZldyBtb250aCB5b3UnbGwgc2VlIG1vcmUg YW5kIG1vcmUgb2Ygb3VyIHN0b3JlZAogICAgICAgICAgcHJvY2VkdXJlcyByZXBsYWNlZCB3aXRo IEpQQSBjb2RlLCB3aGljaCB3aWxsIGFsbG93IHVzIHRvIGhhdmUKICAgICAgICAgIGVhc2llciBl bnRpdHkgbWFwcGluZyBhbmQgZW5qb3kgcGVyZm9ybWFuY2UgYm9vc3Qgd2l0aAogICAgICAgICAg Y2FjaGluZy48L2Rpdj4KICAgICAgICA8ZGl2IHN0eWxlPSJmb250LXNpemU6MTIuODAwMDAwMTkw NzM0OXB4Ij48YnI+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9ibG9ja3F1b3Rl PgogICAgPGJyPgogICAga3Vkb3MgTGlyYW4sIHRoZSBtb2Rlcm5pemF0aW9uIG9mIG91ciBjb2Rl LWJhc2UgaXMgYSB2ZXJ5IGltcG9ydGFudAogICAgZ29hbC4gVGhvc2UgYXJlbid0IDxicj4KICAg IGp1c3QgbmljZSB0b3lzIHRvIHBsYXkgd2l0aC48YnI+CiAgICA8YnI+CiAgICA8YmxvY2txdW90 ZQpjaXRlPSJtaWQ6Q0FKM2FZTGNDNG5GZzNyblpjVEwwYnJSQi05S3FlVUZReDl1WmV0cmRFUVBS Z05nWWZBQG1haWwuZ21haWwuY29tIgogICAgICB0eXBlPSJjaXRlIj4KICAgICAgPGRpdiBkaXI9 Imx0ciI+CiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEyLjgwMDAwMDE5MDczNDlweCI+ U29tZSB0aGluZ3MgdG8ga2VlcCBpbgogICAgICAgICAgbWluZDo8L2Rpdj4KICAgICAgICA8ZGl2 IHN0eWxlPSJmb250LXNpemU6MTIuODAwMDAwMTkwNzM0OXB4Ij4xLiBXaGVuIGltcGxlbWVudGlu ZyBhCiAgICAgICAgICBEQU8gY2xhc3MsIHBsZWFzZSBtYWtlIHN1cmUgdG8gYW5ub3RhdGUgaXQg d2l0aCB0aGUgQE5hbWVkIGFuZAogICAgICAgICAgQFNpbmdsZXRvbiBhbm5vdGF0aW9ucy48L2Rp dj4KICAgICAgPC9kaXY+CiAgICA8L2Jsb2NrcXVvdGU+CiAgICA8YnI+CiAgICBub3RlOiB0aGlz IHByYWN0aWNlIGlzIHRlbXBvcmFyeSBhbmQgaXQgc2hvdWxkIGJlIHVwZGF0ZWQ8YnI+CiAgICA8 YnI+CiAgICA8YmxvY2txdW90ZQpjaXRlPSJtaWQ6Q0FKM2FZTGNDNG5GZzNyblpjVEwwYnJSQi05 S3FlVUZReDl1WmV0cmRFUVBSZ05nWWZBQG1haWwuZ21haWwuY29tIgogICAgICB0eXBlPSJjaXRl Ij4KICAgICAgPGRpdiBkaXI9Imx0ciI+CiAgICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEy LjgwMDAwMDE5MDczNDlweCI+Mi4gVGhlCiAgICAgICAgICBlbmdpbmUtZGFvcy5wcm9wZXJ0aWVz IGZpbGUgaXMgbm8gbG9uZ2VyIG5lZWRlZCwgYW5kIGlzCiAgICAgICAgICByZW1vdmVkIGZyb20g b3VyIGNvZGUuPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9ibG9ja3F1b3RlPgogICAgPGJsb2Nr cXVvdGUKY2l0ZT0ibWlkOkNBSjNhWUxjQzRuRmczcm5aY1RMMGJyUkItOUtxZVVGUXg5dVpldHJk RVFQUmdOZ1lmQUBtYWlsLmdtYWlsLmNvbSIKICAgICAgdHlwZT0iY2l0ZSI+CiAgICAgIDxkaXYg ZGlyPSJsdHIiPgogICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMi44MDAwMDAxOTA3MzQ5 cHgiPjMuIElmIHlvdSB3YW50IHRvCiAgICAgICAgICBtaWdyYXRlIHlvdXIgb3duIERBTyB0byB3 b3JrIHdpdGggSlBBLCBwbGVhc2UgbG9vayBhdCB0aGUKICAgICAgICAgIEJvb2ttYXJrLCBCb29r bWFya0Rhb0RiRmFjYWRlSW1wbCBhbmQgQm9va21hcmtEYW9UZXN0IGNsYXNzZXMKICAgICAgICAg IChzZWUgcGF0Y2ggPGEgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIgogICAgICAgICAgICBocmVmPSJo dHRwczovL2dlcnJpdC5vdmlydC5vcmcvIy9jLzMzODM2LyI+aHR0cHM6Ly9nZXJyaXQub3ZpcnQu b3JnLyMvYy8zMzgzNi88L2E+KS48YnI+CiAgICAgICAgICA8YnI+CiAgICAgICAgPC9kaXY+CiAg ICAgICAgPGRpdiBzdHlsZT0iZm9udC1zaXplOjEyLjgwMDAwMDE5MDczNDlweCI+VGhlcmUgaXMg YSBzaW1wbGUKICAgICAgICAgIGluZnJhc3RydWN0dXJlIHRoYXQgd2lsbCBhbGxvdyB5b3UgdG8g ZG8gbW9zdCBvZiB0aGUgdGhpbmdzCiAgICAgICAgICB5b3UgbmVlZCBxdWl0ZSBlYXNpbHkuIElm IHNvbWV0aGluZyBpcyBtaXNzaW5nIC0gcGxlYXNlIGRyb3AKICAgICAgICAgIG1lIGFuIGVtYWls IHRvoDxhIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSIKICAgICAgICAgICAgaHJlZj0ibWFpbHRvOmx6 ZWxraGFAcmVkaGF0LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmx6ZWxraGFAcmVkaGF0LmNvbTwvYT6g LQogICAgICAgICAgSSdsbCBiZSBoYXBweSB0byBhc3Npc3QuPC9kaXY+CiAgICAgICAgPGRpdiBz dHlsZT0iZm9udC1zaXplOjEyLjgwMDAwMDE5MDczNDlweCI+PGJyPgogICAgICAgIDwvZGl2Pgog ICAgICAgIDxkaXYgc3R5bGU9ImZvbnQtc2l6ZToxMi44MDAwMDAxOTA3MzQ5cHgiPlRoYW5rcyBm b3IgZXZlcnlvbmUKICAgICAgICAgIHdobyB0b29rIHBhcnQgaW4gdGhpcyBlZmZvcnQgLSBPdmVk LCBNb3RpLCBSb3ksIFlldmdlbnkgYW5kCiAgICAgICAgICBldmVyeW9uZSBlbHNlLqA8L2Rpdj4K ICAgICAgPC9kaXY+CiAgICAgIDxicj4KICAgICAgPGZpZWxkc2V0IGNsYXNzPSJtaW1lQXR0YWNo bWVudEhlYWRlciI+PC9maWVsZHNldD4KICAgICAgPGJyPgogICAgICA8cHJlIHdyYXA9IiI+X19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGV2ZWwgbWFpbGlu ZyBsaXN0CjxhIGNsYXNzPSJtb3otdHh0LWxpbmstYWJicmV2aWF0ZWQiIGhyZWY9Im1haWx0bzpE ZXZlbEBvdmlydC5vcmciPkRldmVsQG92aXJ0Lm9yZzwvYT4KPGEgY2xhc3M9Im1vei10eHQtbGlu ay1mcmVldGV4dCIgaHJlZj0iaHR0cDovL2xpc3RzLm92aXJ0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RldmVsIj5odHRwOi8vbGlzdHMub3ZpcnQub3JnL21haWxtYW4vbGlzdGluZm8vZGV2ZWw8L2E+ PC9wcmU+CiAgICA8L2Jsb2NrcXVvdGU+CiAgICA8YnI+CiAgICA8YnI+CiAgPC9ib2R5Pgo8L2h0 bWw+CgotLS0tLS0tLS0tLS0tLTA3MDUwMDA4MDEwMTA4MDAwNzA1MDEwMC0tCg== --===============7422275469566069000==--