Spring Data JPA:java.lang.NoSuchMethodException:java.util.List.<init>() [英] Spring Data JPA : java.lang.NoSuchMethodException: java.util.List.<init>()
本文介绍了Spring Data JPA:java.lang.NoSuchMethodException:java.util.List.<init>()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用 Spring Data JPA
来创建服务.我正在尝试在 JPQL
查询中使用 IN 子句
.
I am using Spring Data JPA
for creating services. I am trying to use IN clause
in JPQL
Query.
实际上我正在尝试将此 LinQ 查询转换为 JPQL
Actually I am trying to convert this LinQ query to JPQL
LinQ 查询
from rooms in EspaceDB.Rooms
where roomIDList.Contains(rooms.nRoomID.ToString())
select rooms;
java.lang.NoSuchMethodException: userAuth.User.
这个解决方案对我不起作用.在我的所有模型类中,我都有默认构造函数.
This solution didn't work for me. In my all model classes I am having default constructor.
JPQL 查询语法
@Query("select room from Room as room where room.nRoomId In (:nRoomIdList)")
List<Room> recoverDeletedRoom(@Param(value = "nRoomIdList") List<Integer> nRoomIdList);
控制台
java.lang.NoSuchMethodException: java.util.List.<init>()
at java.lang.Class.getConstructor0(Unknown Source) ~[na:1.8.0_144]
at java.lang.Class.getDeclaredConstructor(Unknown Source) ~[na:1.8.0_144]
at org.springframework.web.method.annotation.ModelAttributeMethodProcessor.createAttribute(ModelAttributeMethodProcessor.java:209) ~[spring-web-5.0.7.RELEASE.jar:5.0.7.RELEASE]
at java.lang.Thread.run(Unknown Source) [na:1.8.0_144]
房间等级
@Entity
@Table(name = "room")
public class Room implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY, generator = "room_seq_generator")
@SequenceGenerator(name = "room_seq_generator", sequenceName = "room_seq",allocationSize=1)
@Column(name = "nroom_id", columnDefinition="serial")
public Integer nRoomId;
@Column(name = "ncampus_id")
public Integer nCampusId;
//....
//....
public Room() {
super();
}
房间控制器
@PutMapping("/recoverDeletedRoom")
public List<Room> recoverRoom(List<Integer> nRoomIdList, Boolean IsActive) {
return roomService.recoverDeletedRoom(nRoomIdList, IsActive);
}
推荐答案
更改您的 @PutMapping
代码
@PutMapping("/recoverDeletedRoom")
public List<Room> recoverRoom(@RequestBody WrapperObject wrapperObject) {
return roomService.recoverDeletedRoom(wrapperObject.getNRoomIdList(), getIsActive());
}
并得到放置映射体;
public class WrapperObject {
List<Integer> nRoomIdList;
Boolean isActive;
//getters setters
}
这篇关于Spring Data JPA:java.lang.NoSuchMethodException:java.util.List.<init>()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文