Heath Thomann created OPENJPA-2536:
--------------------------------------
Summary: FetchGroup is not returning lazy fields.
Key: OPENJPA-2536
URL: https://issues.apache.org/jira/browse/OPENJPA-2536
Project: OpenJPA
Issue Type: Bug
Components: kernel
Affects Versions: 2.3.0, 2.1.2, 2.2.1.1, 2.2.3, 2.4.0
Reporter: Heath Thomann
Priority: Minor
I have found an issue with FetchGroups not returning 'lazy' fields. To
describe, take this entity:
@Entity
@FetchGroup(name = "HardwareSimple", attributes = { @FetchAttribute(name =
"status"),
@FetchAttribute(name = "statusActive") })
public class HardwareStatus implements Serializable {
@Id
private String status;
private String statusActive;
private String condition;
private int connection;
...............
OpenJPAEntityManager openJpaEm = OpenJPAPersistence.cast(em);
openJpaEm.getFetchPlan().resetFetchGroups().removeFetchGroup("default").addFetchGroups("HardwareSimple");
HardwareStatus h1 = em.find(HardwareStatus.class, "Lost");
//h1.status contains "Lost" in the db.
assertEquals("Lost",h1.getStatus()); //this assert passes
//h1.connection contains '2' in the db.
assertEquals(2, h1.getConnection()); //this assert fails
//h1.condition contains "Used" in the db.
assertEquals("Used", h1.getCondition()); //this assert fails
The latter two h1.get* returns null. These fields are 'lazy' (i.e. not part of
the FetchGroup) but should be fetched when requested. See the attached test
for full details.
Thanks,
Heath
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)