小学生之Hibernate插入数据修改数据使用数据库默认值的实现

最近在写一个案例,定时任务对数据库进行更新操作,废话不多说,上代码:

 @Component("taskJob")
public class TaskJob extends HibernateDaoSupport { @Resource
private SessionFactory sessionFactory; @PostConstruct
public void init() {
setSessionFactory(sessionFactory);
} @Scheduled(cron = "0 0/1 * * * ?")
@Transactional
public void jobl() throws InterruptedException {
System.out.println("任务开始执行....");
this.getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session)
throws HibernateException {
session.createSQLQuery("truncate table tm_org").executeUpdate();
return null;
}
});
System.out.println("删除完毕........");
Thread.sleep(1000);
final File file = new File("C:\\Users\\lhq\\Desktop\\T1018.txt");
BufferedReader reader = null;
try {
System.out.println("以行为单位读取文件内容,一次读一整行:");
reader = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));
String tempString = null;
// 一次读入一行,直到读入null为文件结束
while ((tempString = reader.readLine()) != null) {
final String[] split = tempString.split("\\s+");
Org org = new Org();
org.setOrgCode(split[0]);
org.setOrgName(split[1]);
// org.setStatus("0");
if (split.length>3) {
org.setUpOrg(split[3]);
}
org.setCreator("superuser");
this.getHibernateTemplate().persist(org); }
reader.close(); } catch (final IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (final IOException e) {
}
}
}
}
}

最开始执行完操作的时候,小学生之Hibernate插入数据修改数据使用数据库默认值的实现这一行是没有的,因为我在数据库中设置了默认值,

控制台上就给我报错,如图:

小学生之Hibernate插入数据修改数据使用数据库默认值的实现

为了程序的运行,我把这行手动添加上了,今天仔细一想,应该有办法解决这个问题,就上网找了N多个文字,都没有具体找到实现方法,大多都是配置文件形式的(这年头谁还用配置文件,都用注解了),后来千辛万苦找到一个解决方案,如图:

小学生之Hibernate插入数据修改数据使用数据库默认值的实现

于是我就照葫芦画瓢,也这么写,然后发现是这样的:

小学生之Hibernate插入数据修改数据使用数据库默认值的实现

一看就知道是过时的方法,为了程序的执行没有管他,run起来也没有问题,之后我又看了一下源码发现4.1版本的时候移除了:

小学生之Hibernate插入数据修改数据使用数据库默认值的实现

然后我发现这里面每个字段上有这么一句:

小学生之Hibernate插入数据修改数据使用数据库默认值的实现

意思就是用{}里面的替换了,于是就改成了这样:

小学生之Hibernate插入数据修改数据使用数据库默认值的实现

当然也是没问题。

就是跟大家分享一下经验,帮助需要的人提供方案.

上一篇:centos7.0 没有netstat 命令问题


下一篇:JSBinding+SharpKit / JavaScript调试