Skip to content
Advertisement

Schema-validation: wrong column type encountered in column

Error: Schema-validation: wrong column type encountered in column [curr_step] in table [risk_workflow]; found [varchar2 (Types#VARCHAR)], but expecting [number(19,0) (Types#BIGINT)]

Please let me know how can we solve this?

Column declaration in entity class “risk_workflow”

@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "CURR_STEP")
private WorkflowTaskRoleMapping currentStep;

WorkflowTaskRoleMapping entity:

@Id
@GeneratedValue(strategy= GenerationType.SEQUENCE,generator = "WFTASK_ROLE_MPNG_SEQ")
@SequenceGenerator(sequenceName ="WFTASK_ROLE_MPNG_SEQ",allocationSize = 1,name="WFTASK_ROLE_MPNG_SEQ")
private long id;

@Column(name = "TASK_NAME", length = 100)
private String taskName;

@Column(name = "ROLE", length = 25)
private String role;

@Column(name = "TASK_ORDR")
private int order;

@Column(name = "PROC_ID")
private long processId;

Advertisement

Answer

The id of WorkflowTaskRoleMapping is a long and Hibernate maps it on the db with a column of type number(19,0).

Hibernate expects the column CURR_STEP that maps the association to be the same type of the id in WorkflowTaskRoleMapping (number(19,0)). The validation failed because the type of CURR_STEP in the db is varchar2.

It seems like you need to change the curr_step type on the db to number(19,0).

Or, you can change the id type of WorkflowTaskRoleMapping to String;

User contributions licensed under: CC BY-SA
7 People found this is helpful
Advertisement