2017-07-28 57 views
0

我需要的SQL本地查詢結果地圖像別名爲在春季價值引導JPA 例如鍵和列值:要獲得Map作爲結果彈簧設定開機JPA

查詢SELECT u.first_name as firstName, u.last_name as lastName from user u回報兩排。在JPA實體經理應該回報,

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

你可以創建一個擴展pojo類的存儲庫並且制定一個查詢方法來給你想要的輸出 –

回答

0

您可以創建一個存儲庫擴展POJO類,並制定一個查詢方法,給你所需的輸出

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(); 

    } 

現在你可以直接使用此方法爲:

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

@Autowired 
UserRepository ur; 

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

     return user; 
    } 

} 

這會給以鍵值對所需的結果列表

+0

我不想使用存儲庫。 –

+0

你已經提到過Spring引導JPA,這就是它的實現。 –

0

你可以試試下面的代碼:

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();