polygene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niclas Hedhman <nic...@hedhman.org>
Subject Re: query value/transient composite? objects vs values?
Date Fri, 15 Apr 2016 04:54:52 GMT
Just added a short blurb on Objects to the docs, but more is needed.

Anecdote; A long time in the early days of Qi4j, I spent a lot of time
writing documentation. For many things, I wrote the documentation first and
Rickard would use it to implement the right behavior. We worked almost
side-by-side with docs and code, as features were investigated, developed
and added. Great days.

Anyway, I will try to get that online today.


On Fri, Apr 15, 2016 at 12:21 PM, Niclas Hedhman <niclas@hedhman.org> wrote:

> 1. Values are not directly persistable. Entities is the only way. In 3.0,
> I am considering changing the definition of Entity to be "Entity =
> ValueComposite assigned to an Identity", The upside is that
> ConcurrentModification is easier to handle. The downside is that I also
> want to support EventSourcing, i.e. only write down the changes and not the
> current state. Those are somewhat contradictory ways of doing it, and may
> not be easy to reconcile.
> 2. No.
> 3. Objects is one way to allow ordinary Java classes to participate in the
> Zest Runtime.  So, I can do;
> public class Abc
> {
>     @Structure
>     private UnitOfWorkFactory uowf;
> :
> :
> }
> and declare that class as an Object.
> For it to work, the Object must be instantiated with the ObjectFactory
> (part of Module in 2.1). Objects also have @Uses annotations on fields and
> constructor arguments, and they are passed in the ObjectFactory.newObject()
> method call. Multiple object instances of the same type is not supported
> (yet?).
> ObjectFactory also has the injectInto() method, in the cases where some
> other system needs to do the instantiation of your class (say Spring), but
> you want to inject the Zest Runtime model into it after it has been created
> (of course, doesn't work with Constructor injection, only fields).
> Cheers
> Niclas
> On Fri, Apr 15, 2016 at 12:05 PM, zhuangmz08 <zhuangmz08@qq.com> wrote:
>> Hi, I'm confused with value/transient/entity composite, my question is,
>> I can get entities after I fire a query using query-API inside a
>> UnitOfWork.
>> 1. Can I get value composite by query API? If I cannot, value is
>> persistentable only in a Entity?
>> 2. Can I query transient? I guess not.
>> 3.
>> module.values()/.entities()/.transients()/.services()/.configurations() is
>> used to declare those 5 types of composite. Then, what does
>> module.objects() mean?
>> Thanks a lot.
> --
> Niclas Hedhman, Software Developer
> http://zest.apache.org - New Energy for Java

Niclas Hedhman, Software Developer
http://zest.apache.org - New Energy for Java

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message