2017-07-28 4 views
0

Ich brauche die SQL nativen Abfrage-Ergebnisse als Karte wie Aliasnamen als Schlüssel und Spaltenwert als Wert in Spring JPA booten Zum Beispiel zu bekommen:, um die Karte als Ergebnis gesetzt im Frühjahr booten JPA

Die Abfrage SELECT u.first_name as firstName, u.last_name as lastName from user u kehrt zwei Reihen. Ein Unternehmen Manager in JPA sollte zurückgibt,

[{ 
"firstName": "XXX", 
"lastName": "YYY" 
}, { 
"firstName": "AAA", 
"lastName": "BBB" 
}] 
+0

Sie kann ein Repository erstellen, das die Pojo-Klasse erweitert und eine Abfragemethode formuliert, um Ihnen die gewünschte Ausgabe zu geben –

Antwort

0

Sie ein Repository erstellen können die pojo-Klasse erweitern und eine Abfragemethode formulieren, um Ihnen die gewünschte Ausgabe

users.java

@Entity 
@Table(name = "USERS") 
@EntityListeners(UsersEntityListener.class) 
@NamedQueries({ 
    @NamedQuery(name = "User.findAll", query = "SELECT u FROM User u")}) 
public class User extends Domain implements Serializable { 

    private static final long serialVersionUID = 1L; 
    @Basic(optional = false) 
    @Column(name = "FIRST_NAME", nullable = false) 
    private String firstName; 
    @Basic(optional = false) 
    @Column(name = "LAST_NAME", nullable = false) 
    private String lastName; 
    @Column(name = "MIDDLE_NAME") 
    private String middleName; 
    @Basic(optional = false) 
    @Column(name = "GENDER", nullable = false) 
    private String gender; 
    @Basic(optional = false) 
    @Column(name = "MOBILE", nullable = false) 
    private String mobile; 
    @Basic(optional = false) 
    @Column(name = "EMAIL", nullable = false) 
    private String email; 
    @Basic(optional = false) 
    @Column(name = "USERNAME", nullable = false) 
    private String username; 
    @Basic(optional = false) 
    @Column(name = "PASSWORD", nullable = false) 
    private String password; 
    @Column(name = "URL") 
    private String url; 

    public User() { 
    } 

//*************Getters and Setters******************/ 
} 

UserRepository.java

@Repository 
@RepositoryRestResource 
    public interface UserRepository extends JpaRepository<User,Integer> { 

    @Query("select u.firstName,u.lastName from Users u ") 
     List<BuyingRequirement> find(); 

    } 

jetzt können Sie diese Methode verwenden, um direkt als:

@RestController 
@RequestMapping("/api/v1") 
public class xyz{ 

@Autowired 
UserRepository ur; 

@GetMapping(value = "/user") 
    public List<Users> getNameandLastName(){ 
     List user= ur.find(); 

     return user; 
    } 

} 

Dies wird erforderlich Ergebnisliste geben in Schlüsselwertpaar

+0

will ich nicht Verwende das Repository. –

+0

Sie haben Spring Boot JPA erwähnt und so ist es implementiert. –

0

Sie folgenden Code versuchen:

import org.hibernate.internal.SessionImpl; 
import java.sql.Connection; 


Connection connection = entitymanager.unwrap(SessionImpl.class).connection(); 
PreparedStatement ps = connection.prepareStatement(procedure);` 

ResultSet rs = ps.executeQuery(); 
Verwandte Themen