[
http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-679?pag...
]
Sanne Grinovero commented on HSEARCH-679:
-----------------------------------------
{quote}I don't understand your comment about UC#1. I know that index
"updates" are really deletes and re-adds, but why does each B instance need to
be re-indexed at all? Based on HSEARCH-361, since no indexed fields in A were changed,
there's nothing to do in B's index. I don't index the row-version field (not
even shown in my code snippets). If I were updating the A.name field, then I would
understand why all of the B instances need to be rebuilt, but that's not my
scenario.{quote}
sorry I misread your example as a many-to-many; I think you're right there should be
no need to update the index; the problem must hide in how we flag the association to B as
"index triggering", being annotated with _@ContainedIn_, and dirty as well as
you're updating it. Thanks, yes we should be able to do better! Looking forward for
tests.
Entity whose related entity collection is updated causes loading of
@ContainedIn entities
-----------------------------------------------------------------------------------------
Key: HSEARCH-679
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HSEARCH-679
Project: Hibernate Search
Issue Type: Bug
Components: engine
Affects Versions: 3.2.1, 3.3.0.Final
Environment: Hibernate 3.6.1-SNAPSHOT/Hibernate Search 3.4.0-SNAPSHOT and
Hibernate 3.5.6/Hibernate Search 3.2.1
Reporter: Tom Waterhouse
Assignee: Sanne Grinovero
Fix For: 3.4.0.CR2
Attachments: HSEARCH-679-test-updated.zip, HSEARCH-679-test.zip, HSEARCH-679.zip
This problem seems related to HSEARCH-361. An entity that references another entity as
@ContainedIn is causing the load of entities related to the other entity.
Using the model below, the update of the collection of D instances in the class C causes
the load of related classes B and A.
{code}
public class A {
@Field
private String name;
@IndexEmbedded
private B
}
{code}
{code}
public class B {
@ContainedIn
private A a;
@IndexEmbedded
private C c;
}
{code}
{code}
public class C {
@ContainedIn
private Collection<B> b;
// NOT INDEXED
private Collection<D> d;
}
{code}
{code}
public class D {
public String value;
}
{code}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://opensource.atlassian.com/projects/hibernate/secure/Administrators....
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira