簡體   English   中英

dataaccess錯誤 - >沒有為類oracle.jdbc.driver.T4CDateAccessor實現getInt

[英]dataaccess error--> getInt not implemented for class oracle.jdbc.driver.T4CDateAccessor

我最近設置了一個spring + hibernate項目。 我正在使用oracle DB。 我有一個代碼中顯示的實體。

@Entity
@Table(name = "P_EMP_STATUS")
public class EmployeeStatus extends AbstractEntity<Integer> implements Serializable{

private static final long serialVersionUID = 5451825528280340412L;

private Integer id;
private Region region;
private Project project;
private TaskType taskName;
private String taskType
private PrinceUser princeUser;
private Integer assignee;
private Date actualStartDate;
private Date actualFinishDate;
private Integer scheduledStartDate;
private Integer scheduledFinishDate;
private Integer effortSpent;
private String empComments;
private String mgrcomments;
private String archive;

@Id
@Column(name = "ID")
@GeneratedValue(generator="P_STATUS_SEQ", strategy=GenerationType.AUTO)
@SequenceGenerator(name="P_STATUS_SEQ", sequenceName="P_STATUS_SEQ", allocationSize=1)
public Integer getId() {
    return id;
}

public void setId(Integer id) {
    this.id = id;
}

@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name = "REGION_ID")
public Region getRegion() {
    return region;
}

public void setRegion(Region region) {
    this.region = region;
}

@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name = "PROJECT_ID")
public Project getProject() {
    return project;
}

public void setProject(Project project) {
    this.project = project;
}

@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name = "TASK_ID")
public TaskType getTaskName() {
    return taskName;
}

public void setTaskName(TaskType taskName) {
    this.taskName = taskName;
}

@Column(name = "TASK_TYPE")
public String getTaskType() {
    return taskType;
}

public void setTaskType(String taskType) {
    this.taskType = taskType;
}

@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name = "ASSIGNEE")
public PrinceUser getPrinceUser() {
    return princeUser;
}

public void setPrinceUser(PrinceUser princeUser) {
    this.princeUser = princeUser;
}

@Column(name = "ACT_START")
public Date getActualStartDate() {
    return actualStartDate;
}

public void setActualStartDate(Date actualStartDate) {
    this.actualStartDate = actualStartDate;
}

@Column(name = "ACT_FINISH")
public Date getActualFinishDate() {
    return actualFinishDate;
}

public void setActualFinishDate(Date actualFinishDate) {
    this.actualFinishDate = actualFinishDate;
}

@Column(name = "SCH_START")
public Integer getScheduledStartDate() {
    return scheduledStartDate;
}

public void setScheduledStartDate(Integer scheduledStartDate) {
    this.scheduledStartDate = scheduledStartDate;
}

@Column(name = "SCH_FINISH")
public Integer getScheduledFinishDate() {
    return scheduledFinishDate;
}

public void setScheduledFinishDate(Integer scheduledFinishDate) {
    this.scheduledFinishDate = scheduledFinishDate;
}

@Column(name = "EFFORT_SPENT")
public Integer getEffortSpent() {
    return effortSpent;
}

public void setEffortSpent(Integer effortSpent) {
    this.effortSpent = effortSpent;
}

@Column(name = "EMP_COMMENTS")
public String getEmpComments() {
    return empComments;
}

public void setEmpComments(String empComments) {
    this.empComments = empComments;
}

@Column(name = "MGR_COMMENTS")
public String getMgrcomments() {
    return mgrcomments;
}

public void setMgrcomments(String mgrcomments) {
    this.mgrcomments = mgrcomments;
}

@Column(name = "ARCHIVE")
public String getArchive() {
    return archive;
}

public void setArchive(String archive) {
    this.archive = archive;
}

當我嘗試從DB獲取數據時

Query query =  em.createQuery("FROM EmployeeStatus");
return query.getResultList();

我收到以下錯誤。

java.sql.SQLException: Invalid column type: getInt not implemented for class oracle.jdbc.driver.T4CDateAccessor
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
oracle.jdbc.driver.Accessor.unimpl(Accessor.java:358)

我檢查了映射,一切似乎都沒問題。 有人可以幫幫我嗎?

您將兩個日期聲明為整數屬性:

private Integer scheduledStartDate;
private Integer scheduledFinishDate;

這些字段可能存儲在數據庫中Date類型的列中,並且數據庫驅動程序不知道如何將日期轉換為整數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM