【发布时间】:2015-12-07 12:13:56
【问题描述】:
我正在尝试通过休眠将"" 的空字符串传递给日期类型列Logout_date:
query.setParameter(3, "");
但是抛出异常:
java.lang.String cannot be cast to java.util.Date.
我怎样才能做到这一点?
编辑:
String updq2 = "update TblUser a set loggedStatus = ? ,lockedStatus= ?,currentAttempts = ?,logoutDate = ? where upper(a.id)=?";//,lockedStatus= ?, currentAttempts = ?, logoutDate = ? where upper(a.id) = ?";
Session newSession2=factory.openSession();
Transaction tx1=newSession2.beginTransaction();
Query query =newSession2.createQuery(updq2);
query.setParameter(0, (byte)9);
query.setParameter(1,"1" );
query.setParameter(2, 0);
query.setParameter(3, "");
query.setParameter(4, userName.toUpperCase());
query.executeUpdate();
tx1.commit();
newSession2.close();
【问题讨论】:
-
如果该字段可以为空,则无需调用 setParameter。
-
您不能将字符串传递给日期。
-
我需要在我的表中插入(null),我可以通过 JDBC 来做到这一点。@Jens
-
@StefanBeike 如果我正在更新并且我希望将该值设为 (null),该怎么办