请原谅我可怕的英语 . 我有项目,它是在Spring Boot Hibernate JPA上编写的 . 我有这个实体关系:

客户类:

@Entity
@Table(name = "clients")
public class Client {
    @OneToMany(mappedBy = "client", fetch = FetchType.EAGER)
    private List<ClientWallet> wallets;

}

钱包类:

@Entity
@Table(name = "wallets")
public class ClientWallet {
    @OneToMany(fetch = FetchType.EAGER, mappedBy = "wallet")
    private List<ClientTransaction> transactions;

    @ManyToOne
    @JoinColumn(name = "client_id")
    private Client client;
}

交易类:

@Entity
@Table(name = "transactions")
public class ClientTransaction {
    @ManyToOne
    @JoinColumn(name = "wallet_id", nullable = false)
    private ClientWallet wallet;
}

我为每个实体都有@Repository(扩展CrudRepository)像这样:

@Repository
public interface WalletsRepository extends CrudRepository<ClientWallet, Long> {
    ClientWallet findByAnotherField(String anotherFiels);
}

此外,我有后台线程,这个线程通过他的一个字段接收Wallet对象,添加新的Transaction对象和保存对象 . 所有新数据都在物理上出现在数据库中,但在重新授权或重新启动应用程序之前,在我的html页面中看不到 .

如何解决?所有线程需要使用1个会话吗?怎么样?

第二个问题 . 为什么fetsh = LAZY thow LazyInitializationException?我为我的服务类添加了@Transactional注释,但没有任何改变 .

谢谢 .