【发布时间】:2014-07-21 14:46:44
【问题描述】:
我有两个旧数据库表,需要与 JPA 一起使用。
TOUR VEHICLE
----------------------- ---------------------
Id NUMBER(10) VehicleNumber CHAR(3)
VehicleNumber NUMBER(3) LicensePlate CHAR(10)
在我的 JPA 实体中,我希望你使用从 TOUR 到 VEHICLE 的 @ManyToOne 关系。
车辆实体:
public class Vehicle {
@Id
@Column(length=3)
private String VehicleNumber;
...
旅游实体:
public class Tour {
@Id
@Column(precision=3)
private BigDecimal Id;
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name="VehicleNumber", referencedColumn="VehicleNumber")
private Vehicle vehicle;
...
但这当然行不通,因为一个车号被转换为字符串,另一个被转换为 BigDecimal(precision=3)。
那么我该怎么做才能加入他们呢?应忽略非数字值。
感谢您的建议。
【问题讨论】:
-
你是什么意思,'不起作用?'
-
您使用的是哪个 JPA 版本?
-
我正在使用 IBM WebSphere Application Server 8.5 附带的 OpenJPA 2.0,我正在尝试访问 IBM i 7.1 上的 IBM DB2/400。有些表已经超过 20 年了,如果不接触各种旧的 RPG 程序,我就无法更改它们。
-
错误:<1564471>1564471>
标签: jpa sqldatatypes many-to-one