2015-11-13 17 views
6
public interface UserRepository extends JpaRepository<User, Long> { 

    @Query(value = "SELECT * FROM USERS WHERE EMAIL_ADDRESS = ?0", nativeQuery = true) 
    User findByEmailAddress(String emailAddress); 
} 

ile özel veri haritalama en ı kullanıcıdan * seçmek nerede Yukarıdaki kodu var diyelim. Bu yöntemin Kullanıcı nesnesini döndürmesini istemiyorsam ne yapmam gerekir. Verileri elle özel bir nesneye MyUser ile eşleştirebilmemin bir yolu var mı? Tüm bunları UserRepository arayüzünde yapabilir miyim?SpringDataJPA: Yerli Sorgu

Teşekkürler!

+0

Yay Güvenliği'ni yapılandırıyorsunuz değil mi? JPARepsoitory'yi genişletmeniz gerekmez, süper tipini kullanabilirsiniz ve sadece ham JDBC veya herhangi bir şekilde kullanılan bir depo oluşturun. JPARepository Spring ile JPA'nın sürekliliğini nasıl kuracağını biliyor. Eğer ham JDBC kullanırsanız, fasulyenizi db bağlantısıyla yapılandırmanız gerekecektir. JPA'yı biliyorsanız, JPA'yı sorguları değer nesnelerine eşleyecek şekilde yapılandırabileceğinizi ya da bir özel kullanıcı sınıfı hiyerarşisini bir dizi kullanıcı tablosuna eşleyebildiğinizden emin olabilirsiniz. Bahar, tüm nesneleri yapılandırmak ve arayüzleri uygulayacağınız arayüzleri kullanmak ve bunları yaylamak için . – simbo1905

cevap

12

Sen eşleme yapmak zorunda bu

@Query(value = "SELECT YOUR Column1, ColumnN FROM USERS WHERE EMAIL_ADDRESS = ?0", nativeQuery = true) 
List<Object[]> findByEmailAddress(String emailAddress); 

gibi bir şey yapabilirsiniz. Bahar Veri Deposu'na da bir göz atın. Source

+1

Büyük Teşekkürler! Bu benim günümü kurtardı! – topcan5