[hibernate-dev] [HV] Design philosophy

Gunnar Morling gunnar.morling at googlemail.com
Thu Apr 12 15:08:29 EDT 2012


> I have created https://community.jboss.org/wiki/DesignPhilosophyOfTheHibernateProjects
> Please improve. I have only mentioned HV, HSEARCH, BVAL but other projects are free to join the list :)

Ah, that's cool. Thanks :)

--Gunnar

Am 12. April 2012 09:30 schrieb Emmanuel Bernard <emmanuel at hibernate.org>:
>
> On 11 avr. 2012, at 20:59, Gunnar Morling wrote:
>
>> Hi,
>>
>>> When adding a feature, we have always implicitly asked ourselves this pool of questions:
>>>
>>> 1. Does it feel like the right way of doing things?
>>>    If it's not, we have been prone to wait till we mature on the idea. Take collection element constraints as a good example. We know the right way but
>>>    it's not available to us yet
>>> 2. Can I do it with an existing construct with similar or less complexity?
>>> 3. Is this feature wrong? eg validating unicity with a database query is wrong.
>>> 4. Is this a popular request?
>>> 5. Is this feature useful in the general scheme? "What's your use case?" mantra.
>>> 6. Is it the most readable approach?
>>> 7. Is the feature designed consistently with the rest of the library
>>
>> That's a really valuable catalogue of questions. Is it available in
>> the Wiki somewhere?
>>
>> I think it might make sense to have some manifest or charter like this
>> publicly available, so that we can use it as base for discussions such
>> as the one at hand, but also as reference for users why we're leaving
>> out certain feature requests.
>
> I have created https://community.jboss.org/wiki/DesignPhilosophyOfTheHibernateProjects
> Please improve. I have only mentioned HV, HSEARCH, BVAL but other projects are free to join the list :)
>
>> On using reg exps in general, I guess their power (and thus
>> complexity) is their strength and weakness at the same time. So
>> another idea might be to provide simplified means of specifying
>> patterns by only using "*" (and maybe "?") as placeholder (as known
>> from Windows search):
>>
>> @Email(pattern="*@hibernate.org")
>>
>> or
>>
>> @Email @SimplePattern("*@hibernate.org")
>>
>> I think that's reads pretty well and might be sufficient for most use
>> cases (and all others could still use @Pattern).
>
> The idea of a @SimplePattern annotation is interesting. It would solve the start with / end with / contains typical use cases. You might need a flag for case sensitivity though.
>



More information about the hibernate-dev mailing list