[hibernate-dev] 6.0 proposal - CollectionTuplizer
Jordan Gigov
coladict at gmail.com
Fri Jun 16 10:45:13 EDT 2017
Would this allow for queries of multiple keys, like this?
SELECT * FROM tbl WHERE (key1, key2) IN ( (val1k1,val1k2), (val2k1,val2k2)... )
I started working on trying to fit something like this in 5.2 and see
what problems I would encounter, but haven't had time to finish it.
On 16 June 2017 at 17:14, Steve Ebersole <steve at hibernate.org> wrote:
> No feedback, so I will work in this direction then...
>
> On Thu, May 18, 2017 at 10:23 AM Steve Ebersole <steve at hibernate.org> wrote:
>
>> As part of removing most Type sub-types we are left with the question of
>> how to handle the role served by CollectionType. Andrea and I came up with
>> a proposal that not only serves that purpose but also allows a level of
>> customization we have so far not supported but which has been asked for a
>> few times (mostly as part of framework/language integration into Hibernate;
>> Ceylon, etc).
>>
>> Here is the proposal:
>>
>> /**
>> * Encapsulates collection type specific behavior/information
>> * <p/>
>> * NOTE : the name "tuplizer" was chosen as this really serves
>> * same logical purpose as the entity and component tuplizers
>> * do entities and components respectively.
>> */
>> interface CollectionTuplizer<C> {
>> /**
>> * Access to the type of the collection. This
>> * is expected to be an interface. Used to create
>> * a registry against which we can resolve the
>> * reflected attribute type. E.g. an attribute
>> * defined as `List` would be resolved to the
>> * CollectionTuplizer that deals with lists
>> */
>> Class<C> getCollectionJavaType();
>>
>> /**
>> * Create an empty instance of the collection wrapper
>> */
>> PersistentCollection<C> create(int anticipatedSize);
>>
>> /**
>> * Wrap an existing "raw" view of the collection
>> */
>> PersistentCollection<C> wrap(Object rawCollection);
>>
>> /**
>> * Creates the representation of this plural attribute
>> * according to the runtime domain model view.
>> */
>> <O> PluralPersistentAttribute<O,C,?> generatePluralAttribute();
>>
>> // anytihng else? element comparator, etc?
>> }
>>
>> Thoughts? Suggestions?
>>
> _______________________________________________
> hibernate-dev mailing list
> hibernate-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev
More information about the hibernate-dev
mailing list