2015-07-20 58 views
-1

我想通過JPA @Entity註釋一個類,所以我添加了Spring的@Component/@Resource/@Configurable註解,但它不允許我自動裝入那個類。JPA @Entity和Spring之間的衝突@ Component/@ Resource/@ Configurable

是否需要其他註釋?

樣品是:

@Component 
@Entity 
@Table 
public class Employee{ 

    @Autowired 
    TestService testService; 
    ... 
} 

凡類TestService標註有@Service

+0

請向downvoted的人請求理由。 –

+1

我不是downvoter,但你爲什麼要這麼做? Hibernate應該管理'@ Entity'對象的生命週期,而不是Spring,這是'@ Autowired'(和其他bean註釋一起)的用處。 –

+0

我瞭解Predrag,但我有一個要求。 –

回答

1

您可以輕鬆地做到這一點,使一個構造,並通過注入的服務爲perameter:

@Component 
@Entity 
@Table 
public class Employee{ 

    Employee(TestService testService){ 

     //Do some work  
    } 
    ... 
} 

現在主叫類。 。

@Service 
public class CallerClass{ 

    @Autowired 
    TestService testService; 

    Employee employee =new Employee(testService); 
}