java – 使用Spring Data JPA自动转换参数
在我们的实体bean中,我们使用自定义ID格式,其中包含校验和以验证ID实际上是否有效. Ids看起来像ID827391738979.为了确保所有代码只使用正确的ID,我们在ID String周围创建了一个代码包装器:
所有代码都只使用此ID对象.但是在我们的实体中,我们将ID定义为String:
现在我们想使用Spring-Data-JPA通过它的id查询一些对象.所以我们这样做:
问题是,现在Spring Data JPA尝试将ID类型的参数分配给查询,而查询当然需要一个String. 是否可以让Spring Data JPA在将参数插入查询之前将参数转换为期望的类型(例如通过注册Spring转换器)?或者,我们是否必须让方法采用这样的字符串:
我宁愿避免这种情况,因此所有代码都可以使用ID类而不是使用字符串. 最佳答案
您可以使用custom type in your entity with JPA 2.1
@Convert ,因此JPA为您进行转换(我已经使用Spring Data JPA对其进行了测试,并且它透明地工作!),请参阅:
实体:
转换器:
笔记: >确保您使用的是兼容JPA-2.1的Spring Data JPA版本. (我确信Spring Data JPA 1.7.0(及更高版本)是(或至少应该)兼容). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |