Oh ok. So Scan query’s only limitations are JOIN with another cache entity, and 
aggregation? I believe we have not tried scan query because of this, and have 
used SQL queries exclusively.

Thanks,
Narayana.

From: Pavel Tupitsyn [mailto:ptupit...@apache.org]
Sent: Wednesday, August 30, 2017 2:07 PM
To: user@ignite.apache.org
Subject: Re: Anaemic Domain Model

With Scan Query there are no restrictions, you can filter on any level of 
nesting, with computed properties, etc etc.
It is just a piece of your code operating on your object, so you can do 
anything.

SQL is more limited, but it also allows nested fields in some cases.

Let me know if you need help with some particular query.

Pavel

On Wed, Aug 30, 2017 at 10:45 AM, Narayana Rengaswamy 
<narayana.rengasw...@optym.com<mailto:narayana.rengasw...@optym.com>> wrote:
Hi Pavel,

Our main issue is filtering data by applying a predicate. As I understand, I 
cannot filter on a nested class using either SQL Query, or Scan Query.

Thanks,
Narayana.

Narayana Rengaswamy
Optym – Live Efficiently
M: +91-875-450-9770

From: Pavel Tupitsyn [mailto:ptupit...@apache.org<mailto:ptupit...@apache.org>]
Sent: Tuesday, August 29, 2017 8:08 PM
To: user@ignite.apache.org<mailto:user@ignite.apache.org>
Subject: Re: Anaemic Domain Model

Hi Narayana,

Can you describe the difficulties that you have with storing rich model classes 
in Ignite?

Anaemic domain model is controversial, opinions range from "good practice" to 
"anti-pattern".
Ignite does not force you into any specific approach, IBinarizable and 
IBinarySerializer interfaces
provide flexibility when reflective serializer does no cope well.

Pavel

On Tue, Aug 29, 2017 at 5:16 PM, Narayana Rengaswamy 
<narayana.rengasw...@optym.com<mailto:narayana.rengasw...@optym.com>> wrote:
Hi all,

I am using Apache Ignite (.NET) in a web application. My domain model classes 
are directly stored in Ignite cache, and I have persistence in SQL Server. I 
have DTOs to SQL Server, but none to Ignite. I can see that I am following an 
anaemic domain model due to several restrictions. I find it difficult to model 
classes that can be stored in Ignite cache, and at the same time, be rich 
domain classes (with complex data structures, aggregations etc). Should I be 
creating a DTO class for Ignite also, and do a transformation to / from the 
domain model? Is that how it is done typically with Ignite?

Thanks,
Narayana.


Reply via email to