[英]JAVA JPA UUID passing as List
我想在JPA中傳遞UUID列表。
下面給出的是我的代碼
@Entity
public class MyEntity {
@Id
@Convert(converter = UUIDConverter.class)
private UUID id;
@Convert(converter = UUIDConverter.class)
private UUID someUuid;
// getters and setters
}
public interface MyEntityRepository extends JpaRepository<MyEntity, UUID> {
List<MyEntity> findBySomeUuidIn(List<UUID> someUUIDs);
}
但是我得到了錯誤
Internal Exception: org.postgresql.util.PSQLException: ERROR: operator does not exist: uuid = record
Hint: No operator matches the given name and argument type(s). You might need to add explicit type casts.
Position: 234
Error Code: 0
同時調用myEntityRepository.findBySomeUuidIn(someUUIdList)
。
請幫忙。 謝謝
如您的錯誤所述,您可能需要強制轉換參數。 防爆
SELECT * FROM MyEntity obj WHERE obj.someUuid = CAST(:someUuid AS uuid)
我還沒有嘗試過,但是根據WHERE子句中的UUID查詢,postgresql出現了問題,它說在JPA模型中,UUID列需要使用@Type(type="org.hibernate.type.PostgresUUIDType")
注釋@Type(type="org.hibernate.type.PostgresUUIDType")
討論將Type
指定為JDBC的必要性的更好討論不包括UUID作為其通用SQL類型之一, 每個數據庫切換Hibernate的UUID類型映射
您可能想嘗試一下是否有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.