java - 从具有nativeQuery true J​​PARepository的@Query注释获取两列

标签 java hibernate jpa spring-data-jpa

我有一个实体用户

@Entity
@Table(name="user")
public class User{

@Id
@Column(name="id")
private int id;
@Column(name="reward")
private double reward;

@Column(name="reward_id")
private double rewardId;

//Getter & Setters
}

现在我需要的是立即从数据库中其他表的@Query注释中获取奖励和奖励Id。

我尝试过使用

@Query(value="SELECT reward,reward_id from Table_name")
 public List getRewards();

但是运行时它说没有与 bean 关联的属性。当我只选择单列时,它在我的查询中给出,它运行完美

请帮助我,因为我是 JPA 和 Hibernate 的新手 提前致谢!!

最佳答案

只需使用 Projection :

public interface RewardProjection {
    Double getReward();
    Double getRewardId();
}

@Query(value = "select t.reward as reward, t.reward_id as rewardId from table_name t", nativeQuery = true)
public List<RewardProjection> getRewards();

关于java - 从具有nativeQuery true J​​PARepository的@Query注释获取两列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50870158/

相关文章:

java - 如何从java中的输出流中按 block 获取数据?

java - 仅以一种颜色空间分量值的灰度显示位图

java - 使用 BroadcastReceiver 时 Android 中的 RuntimeException 和我的应用程序停止工作

json - 使用 Spring MVC、Jackson 和 Hibernate 序列化具有多对多关系的对象

java - JPA 实体及其自定义功能

java - 返回 JPA 实体导致内部服务器错误

java - 类型转换通用列表

java - Hibernate DateCreated,DateModified 列来自 DB 而不是 VM(App)

java - Hibernate 错误地在子类而不是父类(super class)中寻找属性的设置者?

java - 悲观锁与可序列化事务隔离级别