Oracle 上的 JPA @Query select 抛出 ORA-01722:字符串上的数字无效
JPA @Query select on oracle throws ORA-01722: invalid number on string
我有以下查询,与 ms-SQL 完美配合,但与 oracle
配合使用失败
有示例查询,原来的很复杂但是这个重现了错误
@Query("SELECT new Map((s.name + ' - ' + s.name) as name , s.idStandard as idStandard) FROM Standard s ")
jpa模型
public class Standard
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(unique = true, nullable = false)
private int idStandard;
@Column(name = "Name")
@NonNull
private String name;
@Column(name = "Description")
private String description;
@Column(name = "UpdateUser")
private String updateUser;
@Column(name = "UpdateDT")
private Date updateDt;
}
为什么 oracle 认为这是 (s.name + ' - ' + s.name) 是一个数字?
我认为全世界都应该知道 :) 使用连接运算符 ||解决问题!
连接运算符允许您将 2 个或更多字符串连接在一起。
查看文档了解更多信息
https://www.techonthenet.com/oracle/functions/concat2.php
更新查询在 ms SQL 和 oracle
上运行
@Query("SELECT new Map((s.name || ' - ' || s.name) as name , s.idStandard as idStandard) FROM Standard s ")
我有以下查询,与 ms-SQL 完美配合,但与 oracle
配合使用失败有示例查询,原来的很复杂但是这个重现了错误
@Query("SELECT new Map((s.name + ' - ' + s.name) as name , s.idStandard as idStandard) FROM Standard s ")
jpa模型
public class Standard
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(unique = true, nullable = false)
private int idStandard;
@Column(name = "Name")
@NonNull
private String name;
@Column(name = "Description")
private String description;
@Column(name = "UpdateUser")
private String updateUser;
@Column(name = "UpdateDT")
private Date updateDt;
}
为什么 oracle 认为这是 (s.name + ' - ' + s.name) 是一个数字?
我认为全世界都应该知道 :) 使用连接运算符 ||解决问题! 连接运算符允许您将 2 个或更多字符串连接在一起。
查看文档了解更多信息 https://www.techonthenet.com/oracle/functions/concat2.php
更新查询在 ms SQL 和 oracle
上运行@Query("SELECT new Map((s.name || ' - ' || s.name) as name , s.idStandard as idStandard) FROM Standard s ")