2012-01-22 11 views
1

私は最近Spring + Hibernateプロジェクトをセットアップしました。私はOracle DBを使用しています。私はコードに示されているようなエンティティを持っています。私はdataaccess error - > getIntがクラスoracle.jdbc.driver.T4CDateAccessorに実装されていません

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

を使用して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; 
} 

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) 

私はマッピングをすべて確認しているようです。誰か助けてくれますか?あなたは整数の性質として、二つの日付宣言

答えて

8

private Integer scheduledStartDate; 
private Integer scheduledFinishDate; 

をこれらのフィールドは、おそらくデータベースにタイプDateの列に格納されており、データベースドライバは、整数に日付を変換する方法を知りません。

+0

ありがとうございます!それは確かに間違いでした。 – user732362

関連する問題