nai*_*eem 6 java spring hibernate spring-data spring-data-jpa
我附上了我的表数据的快照。表名称是orderdetail
。
我想获取有关客户的数据。就像我的例子一样,数据应该基于PurchasedBy
.
@Entity
public class OrderDetail {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@ManyToOne
@JoinColumn(name="purchased_By")
private User purchasedBy;
Run Code Online (Sandbox Code Playgroud)
OrderDetailDao
我正在尝试在存储库中使用以下查询
List<OrderDetail> findByPurchasedBy(User user);
Run Code Online (Sandbox Code Playgroud)
但我收到错误:
Caused by: java.lang.IllegalArgumentException: Unable to locate Attribute with the the given name [purchasedBy] on this ManagedType [com.example.Domain.OrderDetail]
Run Code Online (Sandbox Code Playgroud)
编辑摘要 >
当我使用findAll()
并返回 json 时,该purchasedBy
部分如下所示:
"purchasedBy":{
"id":15,
"email":"admin@gmail.com",
"password":"$2a$10$jj41EbJZTOBfbKdJ6wAdx.rdQq8qU3OqoSzS5mvDVaiL33G1U4pPC",
"name":"admin",
"lastName":"admin",
"active":1,
"roleselected":null,
"roles":[
{
"id":1,
"role":"admin",
"users":[
],
"new":false
}
],
"new":false
}
}
Run Code Online (Sandbox Code Playgroud)
我认为使用自定义查询可能会解决这个问题:
@Query("select od from OrderDetail od where od.PurchasedBy.id = ?1")
List<OrderDetail> findByPurchasedBy(Integer userId);
归档时间: |
|
查看次数: |
5798 次 |
最近记录: |