0
我试图在HSQLDB中的表的列中插入日期类型条目。问题是我使用Hibernate来这样做,任何人都可以请帮助我如何做到这一点?如何使用Hibernate在HSQLDB表中的日期类型列中插入日期?
表如下:
CREATE TABLE TEST(
WORKINGDATE DATE NOT NULL
)
豆文件如下:
import java.util.Date;
public class Test {
private Date workingDate;
public Date getWorkingDate() {
return workingDate;
}
public void setWorkingDate(Date workingDate) {
this.workingDate = workingDate;
}
@Override
public String toString() {
return "Test [workingDate=" + workingDate + "]";
}
}
XML映射如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="bean.hibpackage.Test" table="TEST">
<property name="workingDate" column="WORKINGDATE" type="date" />
</class>
</hibernate-mapping>
现在测试场景是:
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import bean.hibpackage.Test;
public class TestHibernate2 {
/**
* @param args
* @throws ParseException
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test test = new Test();
String date_s = "2015-02-22";
{
//How to format the above given string to a date type so that the
//program will work
}
test.setWorkingDate(?);
Session ses = null;
try {
SessionFactory sessions = null;
sessions = new Configuration().configure().buildSessionFactory();
ses = sessions.openSession();
Transaction tran = ses.beginTransaction();
ses.save(test);
tran.commit();
} finally {
ses.close();
}
}
}
感谢弗拉德,这是第一件事,我试过了,&当然是解决方案。但问题出在我的数据库表和休眠XML映射类,因为你可以注意到我的XML文件中没有ID字段,我发现Hibernate不允许连接到没有ID字段的数据库表,即连接一个没有主键/复合键列的数据库表。一旦我做到了,我很好走!谢谢,虽然因为这是你的回复,迫使我做一个浅层次的根本原因分析... – 2015-04-07 17:02:23
@DhirendraVerma:你会考虑接受这个答案吗?为此,请单击答案左侧的刻度线,使其变为绿色。 – halfer 2015-09-03 21:15:04