【发布时间】:2020-08-16 05:46:11
【问题描述】:
我是 Spring Boot 新手。
我有两个实体 Invite 和 User。
@Entity
public class Invite {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private int id;
@Column(name="email")
private String email_id;
private String mobile;
private String pincode;
private String name;
private String status;
private Date created_on;
private Date updated_on;
//gettes and setters
}
@Entity
public class User {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private int id;
@OneToOne
private Invite invite;
private String firstName;
private String LastName;
@JsonIgnore
private String password;
private Date created_on;
private Date updated_on;
// getters and setters
}
我想要以下数据
+---------+---------------------------------------------+
| id | firstName email_id mobile |
+-------------------+------------+----------------------+
| | | | |
| 1 |Ram | s@mail.com | 1111111111 |
| | | | |
+---------+---------+------------+----------------------+
所以我在 UserRepository 中创建了以下查询:
@Repository
public interface UserRepository extends JpaRepository<User, Integer> {
@Query("select u.id,u.firstName,i.email_id, i.mobile from User u inner join u.invite i")
public List<User> getUserDetails();
}
所以我收到以下错误 -
Failed to convert from type [java.lang.Object[]] to type [@org.springframework.data.jpa.repository.Query com.example.jpa.JPA.entity.User] for value
我知道这是因为返回值是 Object 类型,我正试图将它输入到用户中。
您能否给我一种无需创建额外 DTO 类或接口即可获取任何数据的方法?
【问题讨论】:
-
并补充说,您需要了解问题与Spring Boot无关。这是一个与 JPA 相关的问题,可以使用 Jpa Query 或 @Query 和 Query Projection 接口和类的 Data Jpa 抽象来解决。更正标签
标签: java spring spring-boot jpa spring-data-jpa