我正在开发一个EclipseLink应用程序,它使用Oracle Objects作为IN和OUT参数(同时调用存储过程)。如您所知,我们在Eclipselink中提供了用于表示Oracle Object的@Struct注释,我使用它并且它运行良好。但是,看起来在Struct注释类中声明的字段的顺序对于映射到oracle对象中的正确字段很重要。这会导致维护问题,并且在对象的属性更多时很难编码。 Eclipselink中是否有一种方法可以根据名称而不是订单来说明地图结构字段。
Ex:下面是我的Struct课程。如果我偶然地从字段列表中以不同的顺序声明变量,则从存储过程中获取记录时会发生错误/不正确的映射。它始终将值从上到下映射到字段。 @Column名称注释无法解决此问题。
@Struct(name = "REC_OBJECT",
fields = {"TRANS_ID", "PROJECT_ID", "LANGUAGE_CODE", "DESCRIPTION"})
@Embeddable
public class Master {
@Column(name = "PROJECT_ID")
private String projectId;
@JsonIgnore
@Column(name = "TRANS_ID")
private String transactionId;
@Column(name = "LANGUAGE_CODE")
private String languageCode;
@Column(name = "DESCRIPTION")
private String description;
}
请为此建议解决方案。谢谢。