Hibernate - 在加载时填充自动装配的字段

时间:2017-08-29 08:47:08

标签: java spring hibernate

我有一个原型实体bean,有多个字段和两个瞬态实体。其中一个是原型,另一个是单身。

@Component
@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)
@Entity
@Table(name = "tableA")
class A{
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;

    private String name;

    @Autowired
    @Transient
    private CacheA cache; //Prototype bean for caching some calc results

    @Autowired
    @Transient
    private ServiceA service; //Singleton service bean

}

一切正常,直到我尝试从数据库中读取实例,因为当Hibernate创建实例时,Spring不会自动装配任何字段。

一些额外的信息:我使用CrudRepository和spring-boot自动配置的hibernate。

如何妥善解决此类案件?这是预期的行为,还是我应该为hibernate做一些额外的配置来使用spring上下文?

1 个答案:

答案 0 :(得分:0)

我相信,你的问题与这个问题相同:

Bean injection inside a JPA @Entity

看看这个。我相信,这会有所帮助。