On 24 Jun 2014, at 11:50, Gunnar Morling <gun...@hibernate.org> wrote:
> Yes, today we don't. > > But is there any reason for not using the value column name? Not more that the ones I outlined in this thread. > In fact that's what my pending PR > https://github.com/hibernate/hibernate-ogm/pull/337 does for MongoDB. Right > now it even allows to work with different value column names for the same > table (either in the same or in different documents/records) but I plan to > add a check disallowing this for the sake of portability to stores with a > fixed schema. I don’t follow that one. A fixed schema would be fine here, just with two columns instead of one, no? > > > 2014-06-20 13:00 GMT+02:00 Emmanuel Bernard <emman...@hibernate.org>: > > On 19 Jun 2014, at 14:54, Gunnar Morling <gun...@hibernate.org> wrote: > >>> valueColumnName is something that I elected no to use because NoSQL we bind >>> to so far do not have a strong schema. And at at given segmentColumnValue >>> only correspond a single value. It would come and bite me if someone for >>> the same segment value had two different value column names to >>> differentiate two different sequence. >>> >>> Would it really bite you? I think e.g. MongoDB could perfectly handle this >>> case via two different fields for the two sequences in the same >>> document/segment. >> >> @TableGenerator( >> name=“1”, >> table=“Seq_table”, >> pkColumnName=“key”, >> pkColumnValue=“1”, >> valueColumnName=“value1” >> ) >> @TableGenerator( >> name=“2”, >> table=“Seq_table”, >> pkColumnName=“key”, >> pkColumnValue=“1”, >> valueColumnName=“value2” >> ) >> >> The two definitions share the same options except for valueColumnName. >> The table is roughly as followed >> >> TABLE(Seq_table) >> key | value1 | value2 >> 1 | 10 | 24 >> >> What would be the MongoDB representation in your approach? >> >> It would look like this: >> >> { >> "_id" : 1, >> "value1" : 10, >> "value2" : 24 >> } >> >> So you would get the different sequence values from different fields of that >> same document. But I wouldn't recommend to do so due to the potential >> contention on that single record. Thus I'd raise at least a warning during >> bootstrap. As it's not portable to stores with a fixed schema, I'd rather >> not support it at all, though, and raise an error. > > Exactly. But that’s the thing, AFAIK we do *not* store it that way today as > we don’t use valueColumnName. So today we store it like this > > { > “_id”: 1, > “sequence_value”: 10 > } > > so 10 and 24 has to both live at the same time in sequence _value. > > _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev