Я пытаюсь понять, почему Jackson JSON Сериализация коллекции из 250 объектов занимает 40 секунд, и я думаю, что я сузил ее до ленивой загрузки SDN. Я использую @Fetch, но все равно кажется, что он запрашивает базу данных для делегата для каждого атрибута каждого узла в коллекции. Пожалуйста, проигнорируйте любые опечатки, как я должен это сделать, поскольку копирование-вставка не является вариантом. Будьте уверены, класс компилируется, как ожидалось. (Упрощенный) класс сериализации:Весенние данные Neo4J @Fetch Проблема, наблюдаемая с помощью Jackson Serialization
@NodeEntity
public class NodeWithDelegate {
@RelatedTo(type="REL_NAME", direction=Direction.OUTGOING)
@Fetch private DelegateNode delegate;
private DelegateNode getInitializedDelegate() {
if (delegate == null) {
delegate = new DelegateNode();
}
return delegate;
}
public String getDelegateAttribute1() {
return delegate == null ? null : delegate.getAttribute1();
}
public void setDelegateAttribute1(String attribute1) {
getInitializedDelegate().setAttribute1(attribute1);
}
....
public String getDelegateAttribute15() {
return delegate == null ? null : delegate.getAttribute15();
}
public void setDelegateAttribute15(String attribute15) {
getInitializedDelegate().setAttribute15(attribute15);
}
}
DelegateNode
класс именно то, что можно было бы ожидать, только простой @NodeEntity
POJO, содержащий 15 Строка или Integer или Boolean атрибуты.
Так два вопроса действительно:
- , как я могу сказать наверняка, если фактически жадностью загружен объект? Я использую eclipse.
- Для целей отладки, если объекты все загружены, и я установил точку останова между выборкой коллекции из базы данных и сериализатором, который вызывает все получатели делегатов, и при приостановке закрытия базы данных, должен ли он работать? Есть ли какая-либо причина, по которой объекты должны будут разговаривать с базой данных в этот момент, если все ее загрузится?
Думаю, я должен упомянуть, что использую остальные api для neo4j.
Большое спасибо заранее!
Я. Я изучаю 4.0.0.M1 в настоящее время в филиале, что является огромным начинанием. Но похоже, что это будет лучше подходит для нашего приложения и ограничений, которые мы находим с помощью REST api. Просто хочу, чтобы я знал, когда запланированная дата GA для нее будет. – guydog28
О, и нет ничего ленив в DelegateNode, только свойства, но когда я закрываю сервер neo4j, я получаю исключение подключения, когда он пытается вызвать getDelegateNode из NodeWithDelegate, который, по моему мнению, пытается поговорить с база данных. – guydog28