ofbiz-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From BJ Freeman <bjf...@free-man.net>
Subject Re: Question regarding Catalog management in Ofbiz
Date Fri, 30 Apr 2010 11:30:16 GMT
to address your basic concern the solution would be to load only the
ID's instead of the complete data for each row.
this is a minor change to the find call.
give that a try.
List<GenericValue> org.ofbiz.entity.Delegator.findList(String
entityName, EntityCondition entityCondition, Set<String> fieldsToSelect,
List<String> orderBy, EntityFindOptions findOptions, boolean useCache)

BJ Freeman
Strategic Power Office with Supplier Automation <http://www.businessesnetwork.com/automation/viewforum.php?f=93>
Specialtymarket.com <http://www.specialtymarket.com/>

Systems Integrator-- Glad to Assist

Chat  Y! messenger: bjfr33man

Michal Cukierman sent the following on 4/29/2010 12:30 PM:
> I am a PLM consultant interested in Open source projects. I am interested in
> Ofbiz as a application framework, as well as the Fully flaged ERP system. I
> have to say that it has a lot of great solutions (i.e. modularity and small
> amount of code).
> Please forgive me if my question will be stupid as I have downloaded the
> Ofbiz sources today and I am quite new to the subject.
> So lets go to the point:
> In the line 96 (around, depending on svn version) of the class
> CategoryWorker of the products component there is a line:
> ..
> Collection<GenericValue> allCategories =
> delegator.findList("ProductCategory", null, null, null, null, false);
> ..
> Before I started to implement my solution using ofbiz I wanted to make some
> test, especialy on large amounts of data.
> So far I have got 1 000 000 categories in my database and after
> selecing: Choose
> Top Category <https://localhost:8443/catalog/control/ChooseTopCategory>action
> from the catalog management I run out of memory (4 GB of Xmx).
> I was considering why do we have to select all ( one milion!) records from
> the database if we want to choose only several of them?
> I have seen that you use PRODUCT_CATEGORY_ROLLUP table to keep the
> parent-child relations between categories. I understand that there is a need
> of having many to many relation.
> But besides we also have Many to one relation: primary parent category -
> child categories, shouldn't we consider those as well while selecting the
> ROOT objects?
> My solution was preaty trivial I have changed the line 96 in the mentioned
> class to:
> Collection<GenericValue> allCategories = delegator.findList
>             ("ProductCategory",
> EntityCondition.makeCondition("PRIMARY_PARENT_CATEGORY_ID", null), null,
> null, null, false);
> Is it a good solution? If it's not - I will find another way (some join
> etc.), because from my point of view - selecting one milion objects if we
> need a couple of them can be done by RDMS in almost realtime.
> Please correct me if I am wrong. I can be wrong.
> Best Regards,
> MichaƂ Cukierman

View raw message