2015-04-02 40 views
0

我使用的春天JpaRepository,並希望提供一個通用的接口,一般得到的SQL查詢中使用el表達式如下:JpaRepository中的動態實體名稱?

public interface BaseRepo <B> extends CrudRepository<B, Long> { 
    @Query("SELECT b FROM #{#entityName} b) 
    List<B> findAllB(); 
} 

@Entity 
class Booking {} //results in "booking" 

這工作得很好!但是如果期望的實體包含下劃線呢?我如何定義el表達式如何翻譯實體名稱的策略?

@Entity 
@Table(name = "booking_entity") 
class BookingEntity {} //results in "bookingentity", missing underscore! 
+0

'@ Query'應該放在'JPQL'中,它應該*使用'BookingEntity',而不是'booking_entity'。 (例如)hibernate使用'@ Table'將JPQL映射到實際的SQL查詢。 – beerbajay 2015-04-02 10:29:45

回答

1

您可以使用註釋@Entity(name="booking_entity")