【发布时间】:2013-08-06 07:03:49
【问题描述】:
我已将类变量命名为camel casing。这是类,似乎是罪魁祸首。
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import java.sql.Date;
public class GameBoard
{
@Temporal(TemporalType.DATE)
private Date lastMoveDate;
/**
* @return the lastMoveDate
*/
public Date getLastMoveDate() {
return lastMoveDate;
}
/**
* @param lastMoveDate the lastMoveDate to set
*/
public void setLastMoveDate(Date lastMoveDate) {
this.lastMoveDate = lastMoveDate;
}
}
该类还有几个其他变量,例如 playerOneFk、playerTwoFk 和 gameLobbyFk(hibernate 能够跟踪这些变量上的每个 setter-getter,但会在 last_move_date 列中抛出异常)。
我还尝试了方法名称setlastMoveDate 和getlastMoveDate(没有运气..),lastMoveDate 的属性..
<property name="lastMoveDate" type="date" column="last_move_date" />
以及捕获的异常
SEVERE: Servlet.service() for servlet [authapi] in context with path [/TTTserver] threw exception [Servlet execution threw an exception] with root cause
org.hibernate.PropertyNotFoundException: Could not find a getter for lastMoveDate in class com.hib.objects.GameBoard
at org.hibernate.property.BasicPropertyAccessor.createGetter(BasicPropertyAccessor.java:282)
at org.hibernate.property.BasicPropertyAccessor.getGetter(BasicPropertyAccessor.java:275)
at org.hibernate.mapping.Property.getGetter(Property.java:272)
at org.hibernate.tuple.entity.PojoEntityTuplizer.buildPropertyGetter(PojoEntityTuplizer.java:247)
at org.hibernate.tuple.entity.AbstractEntityTuplizer.<init>(AbstractEntityTuplizer.java:125)
at org.hibernate.tuple.entity.PojoEntityTuplizer.<init>(PojoEntityTuplizer.java:55)
at org.hibernate.tuple.entity.EntityEntityModeToTuplizerMapping.<init>(EntityEntityModeToTuplizerMapping.java:56)
at org.hibernate.tuple.entity.EntityMetamodel.<init>(EntityMetamodel.java:295)
at org.hibernate.persister.entity.AbstractEntityPersister.<init>(AbstractEntityPersister.java:434)
at org.hibernate.persister.entity.SingleTableEntityPersister.<init>(SingleTableEntityPersister.java:109)
at org.hibernate.persister.PersisterFactory.createClassPersister(PersisterFactory.java:55)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:226)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859)
at com.hib.objects.HibernateUtil.<clinit>(HibernateUtil.java:24)
at nz.ac.massey.cs.capstone.auth.authapi.processRequest(authapi.java:42)
at nz.ac.massey.cs.capstone.auth.authapi.doGet(authapi.java:74)
【问题讨论】:
-
你需要正确设置你的休眠上下文。
-
请显示您的包导入,以便我们查看您使用的日期类型。
-
@Vash 谢谢! :) 我也刚刚设置了上下文。
标签: java hibernate getter-setter