錯誤:模式驗證:在表 [risk_workflow] 的列 [curr_step] 中遇到錯誤的列型別;找到 [varchar2 (Types#VARCHAR)],但期望 [number(19,0) (Types#BIGINT)]
請讓我知道我們該如何解決這個問題?
物體類“risk_workflow”中的列宣告
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "CURR_STEP")
private WorkflowTaskRoleMapping currentStep;
WorkflowTaskRoleMapping 物體:
@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;
uj5u.com熱心網友回復:
的 idWorkflowTaskRoleMapping是 long 并且 Hibernate 將其映射到 db 上的列 type number(19,0)。
Hibernate 期望映射關聯的列與( )CURR_STEP中的 id 型別相同。驗證失敗,因為db 中的型別是.WorkflowTaskRoleMappingnumber(19,0)CURR_STEPvarchar2
看來您需要將curr_stepdb 上的型別更改為number(19,0).
或者,您可以將 id 型別更改WorkflowTaskRoleMapping為String;
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/494078.html
上一篇:sql列出未注冊課堂
