Il 04/04/2016 10:23, Francesco Chicchiriccò ha scritto:
Hi all,
a recent e-mail on user@ [1] (about SCIM) made me reconsider one of
the choices we've made in Syncope since the beginning, e.g. using
table generators for long primary keys in several entities, and
especially for users, groups and any objects (and maybe related as
attributes, memberships and relationships).
It seems that UUID offers several advantages, compared to natural keys
(as "long" we use for the aforementioned entities) [2][3][4].
There is some open source UUID generator around [5], which is reported
to perform quite better than standard JDK's, and also features
time-based generation, particularly useful in cluster scenarios.
Naturally, all this would mean changing some logic and data
representation, hence a relevant impact on the codebase, but with
considerable improvements in portability and performance.
It is my opinion, after a quick chat with Mark Struberg on #openjpa,
that this change might worth the effort, and also that we can make it
before finalizing 2.0.0.
I am going anyway to ask for details on users@openjpa.
WDYT?
It seems to be a good enhancement, my only doubt is only about the time.
Do you think it's a good idea (I'm supposing that you know how much time
you need to implement the feature) implementing it before the 2.0.0 release?
Regards,
Massi
Regards.
[1]
http://syncope-user.1051894.n5.nabble.com/Get-list-of-Users-from-a-Syncope-Group-td5708406.html
[2] http://blog.codinghorror.com/primary-keys-ids-versus-guids/
[3]
http://web.archive.org/web/20150511162734/http://databases.aspfaq.com/database/what-should-i-choose-for-my-primary-key.html
[4]
http://blog.xebia.com/jpa-implementation-patterns-using-uuids-as-primary-keys/
[5] https://github.com/cowtowncoder/java-uuid-generator
--
Massimiliano Perrone
Tel +39 393 9121310
Tirasa S.r.l.
Viale D'Annunzio 267 - 65127 Pescara
Tel +39 0859116307 / FAX +39 0859111173
http://www.tirasa.net
"L'apprendere molte cose non insegna l'intelligenza"
(Eraclito)