日期:2014-05-17  浏览次数:20735 次

hibernate 存入数据库当前时间求助
 try{
 tx = session.getTransaction();
tx.begin();  
Query q = session.
     createQuery("select p.id from Person p where p.username=:username and p.password=:password");  
    q.setString("username",person.getUsername());
    q.setString("password", person.getPassword());    
    List record =q.list();     
    if (null !=record&&record.size() != 0) {

     //更新最后一次登陆时间
     Person p=(Person)record.get(0);
     p.setLasttime();
     session.update(person);
session.flush();

    
     result = true;          
    }else{ result = false;}
    tx.commit();
 } 


我想把当前时间存入表person得lastname中 网上查看有个insert into  table values( now() )方法
是不是红色部分改成Query t = session.
     createQuery("update  person set lasttime=( "now() "); 这样对吗?
我用得是postgresql数据库 里面得时间类型应该定义成什么?date型?

------解决方案--------------------
 person is not mapped [update  person set lasttime=('now()')]
你没有给person表配置映射文件啊

直接这样吧
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String currentTime=df.format(new Date());
Person p=(Person)record.get(0);
p.setLasttime(currentTime);
session.update(p);
session.flush(); 

数据库类型改为string