2015-04-02 2 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'. '@ Table' используется (например, hibernate) для сопоставления JPQL с фактическим SQL-запросом. – beerbajay

ответ

1

Вы можете использовать аннотацию @Entity(name="booking_entity").

Смежные вопросы