我已经用oracle db编写了一个spring引导应用程序。
下面是我的毛毛课。
@Entity
public class SystemTypeLookup{
@Id
@GeneratedValue(generator = "UUID")
@GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator")
@Type(type = "uuid-char")
@Column(name = "ID", updatable = false, nullable = false)
protected UUID id;
@Column(name = "CODE")
private String code;
}并将我自己的UUID作为主键值传递。在甲骨文中,数据库ID被认为是原始,存储在oracle中的UUID是不同的。甲骨文中没有-分离,所有UUID字符都是大写的.


当我尝试使用主键查找实体时,它不是用id获取行。我一直都是空的。
@Resource(name = "coreRepository")
private ErpEntityRepository coreRepositoryBase;
SystemTypeLookup systemTypeLookup = coreRepositoryBase.findOne("WHERE o.id='"+id+"'", SystemTypeLookup.class);当将76c03cd9-3d96-40c5-8df9-aad8f2369453作为id值传递时,甲骨文将插入没有“-”的id,所有字符都将以大写字母表示。那么如何解决这个问题呢?
发布于 2018-07-17 13:39:29
首先,您应该在查询中使用参数,其次,确保您要传递的id是UUID类型,而不是字符串类型。
https://stackoverflow.com/questions/51372930
复制相似问题