I was reading Brian's post

http://mail-archives.apache.org/mod_mbox/cassandra-dev/201210.mbox/%3ccajhhpg20rrcajqjdnf8sf7wnhblo6j+aofksgbxyxwcoocg...@mail.gmail.com%3E

In which he asks

> Any insight into why CQL puts that in column name?
> Where does it store the metadata related to compound key
> interpretation? Wouldn't that be a better place for that since it
> shouldn't change within a table?

I have those same questions and would like to understand how it stores stuff 
better.  For example, if PlayOrm has the following

User {
   @Embedded
    Private List<Email> emails;
    @Embedded
    Private List<SomethingElse> otherStuff
    @OneToMany
    Private List<Owner> owners;
}

It ends up storing

rowkey: userid
=> column=emails:email1Id:title, value="some email title"
=> column=emails:email1Id:contents, value="some contents in email really really 
long"
=> column=emails:email2Id:title, value="some other email"
=> column=owners:ownerId29,  value=null
=> column=owners:ownerId57,  value=null

Basically using "emails" as the prefix since User can have other embedded 
objects, and using emailId as the next prefix so you can have many unique 
emails and then having each email property.  How is it actually stored when 
doing Sets and Maps in CQL??  Ideally, I would like PlayOrm to overlay on top 
of that.

Thanks,
Dean

Reply via email to