Program: 176171
Project: 176171
Buggy source:
@Test public void onQuery(){
  EntityManager em=emf.createEntityManager();
  UUID timeLineId=UUID.randomUUID();
  Date currentDate=new Date();
  MongoCompoundKey key=new MongoCompoundKey("String_Node_Str",1,timeLineId);
  MongoPrimeUser timeLine=new MongoPrimeUser(key);
  timeLine.setTweetBody("String_Node_Str");
  timeLine.setTweetDate(new Date());
  UserInfo userInfo=new UserInfo("String_Node_Str","String_Node_Str","String_Node_Str",31,timeLine);
  em.persist(userInfo);
  em.clear();
  final String noClause="String_Node_Str";
  final String withClauseOnNoncomposite="String_Node_Str";
  final String withAllCompositeColClause="String_Node_Str";
  Query q=em.createQuery(noClause);
  List<UserInfo> results=q.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals(31,results.get(0).getAge());
  Assert.assertEquals("String_Node_Str",results.get(0).getFirstName());
  Assert.assertEquals("String_Node_Str",results.get(0).getLastName());
  Assert.assertEquals("String_Node_Str",results.get(0).getUserInfoId());
  Assert.assertEquals(currentDate,results.get(0).getTimeLine().get(0).getTweetDate());
  Assert.assertEquals(timeLineId,results.get(0).getTimeLine().get(0).getKey().getTimeLineId());
  q=em.createQuery(withClauseOnNoncomposite);
  q.setParameter(1,31);
  results=q.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals(31,results.get(0).getAge());
  Assert.assertEquals("String_Node_Str",results.get(0).getFirstName());
  Assert.assertEquals("String_Node_Str",results.get(0).getLastName());
  Assert.assertEquals("String_Node_Str",results.get(0).getUserInfoId());
  Assert.assertEquals(currentDate,results.get(0).getTimeLine().get(0).getTweetDate());
  Assert.assertEquals(timeLineId,results.get(0).getTimeLine().get(0).getKey().getTimeLineId());
  q=em.createQuery(withAllCompositeColClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  results=q.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals(31,results.get(0).getAge());
  Assert.assertEquals("String_Node_Str",results.get(0).getFirstName());
  Assert.assertEquals("String_Node_Str",results.get(0).getLastName());
  Assert.assertEquals("String_Node_Str",results.get(0).getUserInfoId());
  Assert.assertEquals(currentDate,results.get(0).getTimeLine().get(0).getTweetDate());
  Assert.assertEquals(timeLineId,results.get(0).getTimeLine().get(0).getKey().getTimeLineId());
  final String selectiveColumnTweetBodyWithAllCompositeColClause="String_Node_Str";
  q=em.createQuery(selectiveColumnTweetBodyWithAllCompositeColClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  results=q.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals(0,results.get(0).getAge());
  Assert.assertEquals("String_Node_Str",results.get(0).getFirstName());
  Assert.assertEquals(null,results.get(0).getLastName());
  Assert.assertEquals("String_Node_Str",results.get(0).getUserInfoId());
  final String selectiveColumnTweetDateWithAllCompositeColClause="String_Node_Str";
  q=em.createQuery(selectiveColumnTweetDateWithAllCompositeColClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  results=q.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals(0,results.get(0).getAge());
  Assert.assertEquals(null,results.get(0).getFirstName());
  Assert.assertEquals("String_Node_Str",results.get(0).getLastName());
  Assert.assertEquals("String_Node_Str",results.get(0).getUserInfoId());
  em.remove(userInfo);
  em.clear();
}

Fixed version (ground truth):
@Test public void onQuery(){
  EntityManager em=emf.createEntityManager();
  UUID timeLineId=UUID.randomUUID();
  Date currentDate=new Date();
  MongoCompoundKey key=new MongoCompoundKey("String_Node_Str",1,timeLineId);
  MongoPrimeUser timeLine=new MongoPrimeUser(key);
  timeLine.setTweetBody("String_Node_Str");
  timeLine.setTweetDate(new Date());
  UserInfo userInfo=new UserInfo("String_Node_Str","String_Node_Str","String_Node_Str",31,timeLine);
  em.persist(userInfo);
  em.clear();
  final String noClause="String_Node_Str";
  final String withClauseOnNoncomposite="String_Node_Str";
  final String withAllCompositeColClause="String_Node_Str";
  Query q=em.createQuery(noClause);
  List<UserInfo> results=q.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals(31,results.get(0).getAge());
  Assert.assertEquals("String_Node_Str",results.get(0).getFirstName());
  Assert.assertEquals("String_Node_Str",results.get(0).getLastName());
  Assert.assertEquals("String_Node_Str",results.get(0).getUserInfoId());
  Assert.assertEquals(currentDate.getTime(),results.get(0).getTimeLine().get(0).getTweetDate().getTime());
  Assert.assertEquals(timeLineId,results.get(0).getTimeLine().get(0).getKey().getTimeLineId());
  q=em.createQuery(withClauseOnNoncomposite);
  q.setParameter(1,31);
  results=q.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals(31,results.get(0).getAge());
  Assert.assertEquals("String_Node_Str",results.get(0).getFirstName());
  Assert.assertEquals("String_Node_Str",results.get(0).getLastName());
  Assert.assertEquals("String_Node_Str",results.get(0).getUserInfoId());
  Assert.assertEquals(currentDate,results.get(0).getTimeLine().get(0).getTweetDate());
  Assert.assertEquals(timeLineId,results.get(0).getTimeLine().get(0).getKey().getTimeLineId());
  q=em.createQuery(withAllCompositeColClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  results=q.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals(31,results.get(0).getAge());
  Assert.assertEquals("String_Node_Str",results.get(0).getFirstName());
  Assert.assertEquals("String_Node_Str",results.get(0).getLastName());
  Assert.assertEquals("String_Node_Str",results.get(0).getUserInfoId());
  Assert.assertEquals(currentDate,results.get(0).getTimeLine().get(0).getTweetDate());
  Assert.assertEquals(timeLineId,results.get(0).getTimeLine().get(0).getKey().getTimeLineId());
  final String selectiveColumnTweetBodyWithAllCompositeColClause="String_Node_Str";
  q=em.createQuery(selectiveColumnTweetBodyWithAllCompositeColClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  results=q.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals(0,results.get(0).getAge());
  Assert.assertEquals("String_Node_Str",results.get(0).getFirstName());
  Assert.assertEquals(null,results.get(0).getLastName());
  Assert.assertEquals("String_Node_Str",results.get(0).getUserInfoId());
  final String selectiveColumnTweetDateWithAllCompositeColClause="String_Node_Str";
  q=em.createQuery(selectiveColumnTweetDateWithAllCompositeColClause);
  q.setParameter("String_Node_Str","String_Node_Str");
  results=q.getResultList();
  Assert.assertEquals(1,results.size());
  Assert.assertEquals(0,results.get(0).getAge());
  Assert.assertEquals(null,results.get(0).getFirstName());
  Assert.assertEquals("String_Node_Str",results.get(0).getLastName());
  Assert.assertEquals("String_Node_Str",results.get(0).getUserInfoId());
  em.remove(userInfo);
  em.clear();
}