У меня есть два класса:
public class Account {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "accountId")
private Long id;
@OneToOne(optional = true)
@JoinColumn(name = "informationId")
private Information information;
}
public class Information {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "informationId")
private Long id;
@OneToOne(mappedBy = "information", cascade = CascadeType.ALL, optional = true)
private Account account;
}
Когда я звоню, чтобы получить учетную запись, я получаю следующее исключение:
WARN oheloading.internal.LoadContexts - HHH000100: Fail-safecleanup (коллекции): org.hibernate.engine.loading.internal.CollectionLoadContext@2ecc21a
ПРЕДУПРЕЖДЕНИЕ oheliCollectionLoadContext - HHH000160: В коллекции CollectionLoadContext # cleanup, localLoadingCollectionKeys содержали [1] записей * ВСЕГО от 100 до * 100 *Информация с идентификатором 114;вложенным исключением является javax.persistence.EntityNotFoundException: невозможно найти информацию с идентификатором 114
Однако база данных показывает, что существует информационный объект с информационным идентификатором 114 и учетной записью с внешним ключом информационного идентификатора 114.
Почему я получаю это исключение?
РЕДАКТИРОВАТЬ Это вызов, вызывающий исключение:
List<Following> following = followingService.findFollowingByUserId(userId);
В followService это простопозвонить в Дао.Объект Following
имеет объект User
, а User
принадлежит Account
.Следующий объект заполняется просто отлично, если я удалю сопоставление учетной записи