繁体   English   中英

从@Query批注中获取具有nativeQuery true J​​PARepository的两列

[英]Get two columns from @Query annotation having nativeQuery true JPARepository

我有一个实体用户

@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批注中获取reward和rewardId。

我尝试使用

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM