我有一個 APIObjects 列表List<APIObjects> apiObjectList作為我的 API 的輸入(通過 HTTP-Post),我需要檢查這個對象中的所有參數是否存在于我的數據庫中DatabaseObject.java@Data@Builder@NoArgsConstructor@AllArgsConstructor@Entity@Table(name = "my_table")public class DatabaseObject { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) Long id; @Column(name = "name") String name; @Column(name = "group_id") String groupId; @Column(name = "artifact_id") String artifactId; @Column(name = "version") String version; }APIObject.java@Data@NoArgsConstructor@AllArgsConstructor@Builderpublic class APIObject{ private String groupId; private String artifactId; private String version;}在我Repository Interface我有這樣的方法List<DatabaseObject> findByGroupIdAndArtifactIdAndVersionIn (List<APIobject> apiList);但我得到這個例外Caused by: java.lang.IllegalArgumentException: No parameter available for part artifactId SIMPLE_PROPERTY (1): [Is, Equals].如何為此編寫Spring-data-JPA方法?所有三個參數都應該匹配(groupid, artifactid and version)
2 回答

有只小跳蛙
TA貢獻1824條經驗 獲得超8個贊
嘗試使用Query by Example技術。在您的情況下,解決方案可能如下所示:
DatabaseObject dbObject = new DatabaseObject(apiObject.getGroupId(), ...);
Iterable<DatabaseObject> dbObjects = DatabaseObjectRepository.findAll(Example.of(dbObject));
添加回答
舉報
0/150
提交
取消