Добрый день.
Спасибо за ответ.
Добавил EntityLinkField в событие onBeforeShow:
@Subscribe
private void onBeforeShow(BeforeShowEvent event) {
Empl empl = getEditedEntity();
Empl chiefEmpl = empl.getChief();
if (chiefEmpl != null) {
logger.info("Adding chief link to screen");
EntityLinkField<Empl> chiefEmplEntityLinkField = uiComponents.create(EntityLinkField.NAME);
chiefEmplEntityLinkField.setValueSource(
new ContainerValueSource<>(emplDc,"chief"));
chiefEmplEntityLinkField.setValue(chiefEmpl);
chiefEmplEntityLinkField.setStyleName(HaloTheme.LABEL_H1);
chiefEmplEntityLinkField.setCaption(
messages.getMessage(EmplEdit.class, "chief"));
staffVbox.add(chiefEmplEntityLinkField);
}
}
Но при нажатии на ссылку возникает предупреждение:
java.lang.IllegalStateException: Cannot get unfetched attribute [photo] from detached object com.svb.empl.entity.Empl-2ab46950-e0fc-b1e6-06c7-9a439d2f4f35 [detached].
at org.eclipse.persistence.internal.queries.EntityFetchGroup.onUnfetchedAttribute(EntityFetchGroup.java:100)
at com.haulmont.cuba.core.sys.persistence.CubaEntityFetchGroup.onUnfetchedAttribute(CubaEntityFetchGroup.java:74)
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.processUnfetchedAttribute(EntityManagerImpl.java:2998)
at com.haulmont.chile.core.model.impl.AbstractInstance._persistence_checkFetched(AbstractInstance.java)
at com.svb.empl.entity.Empl._persistence_get_photo(Empl.java)
at com.svb.empl.entity.Empl.getPhoto(Empl.java:108)
at com.svb.empl.web.empl.EmplEdit.setEntityToEdit(EmplEdit.java:69)
at com.svb.empl.web.empl.EmplEdit.setEntityToEdit(EmplEdit.java:29)
at com.haulmont.cuba.gui.builders.EditorBuilderProcessor.buildEditor(EditorBuilderProcessor.java:91)
at com.haulmont.cuba.gui.builders.EditorBuilder.build(EditorBuilder.java:359)
at com.haulmont.cuba.web.gui.components.WebEntityLinkField.openEntityEditor(WebEntityLinkField.java:323)
at com.haulmont.cuba.web.gui.components.WebEntityLinkField.lambda$initComponent$61446b05$1(WebEntityLinkField.java:108)
Возможно стоит как-то указать сформированному EntityLinkField ссылку на view ?