SSH框架中的一个HQL语句
我从ActionForm中得到数据,对ID采用自动递增的方式来实现.
存的时候这样写:hibernateTemplate().save(user);
可是这个user有一个字段barcode是根据id生成的其值为id+100000,在new User并对其赋值时由于数据还没存就不知道他的id值了也就不能为这个属性赋值了.我该怎么办呢>
我知道如果用SQL语句可以这样写:
String insert_sql = "insert into article values (null,0,?,?,?,now(),0)" ;
PreparedStatement pstmt = conn.prepareStatement(insert_sql,Statement.RETURN_GENERATED_KEYS);
Statement update_stmt = DB.getStmt(conn); pstmt.setInt(1,-1);
pstmt.setString(2,name);
pstmt.setString(3,password);
pstmt.executeUpdate();在SSH框架里用HQL语言或是用hibernateTemplate该怎么写呢,请高人指点!
我从ActionForm中得到数据,对ID采用自动递增的方式来实现.
存的时候这样写:hibernateTemplate().save(user);
可是这个user有一个字段barcode是根据id生成的其值为id+100000,在new User并对其赋值时由于数据还没存就不知道他的id值了也就不能为这个属性赋值了.我该怎么办呢>
我知道如果用SQL语句可以这样写:
String insert_sql = "insert into article values (null,0,?,?,?,now(),0)" ;
PreparedStatement pstmt = conn.prepareStatement(insert_sql,Statement.RETURN_GENERATED_KEYS);
Statement update_stmt = DB.getStmt(conn); pstmt.setInt(1,-1);
pstmt.setString(2,name);
pstmt.setString(3,password);
pstmt.executeUpdate();在SSH框架里用HQL语言或是用hibernateTemplate该怎么写呢,请高人指点!
这个时侯user.getId()就有值了。
user.setBarcode(user.getId()+100000);
save(user);
public class sForm extends ActionForm{
private int id;
private int barcode;
//在构造方法中设置id和barcode的值
public sForm(int id,int barcode){
this.id = id + 1;
this.barcode = this.id + 100000;
} /*以下为属性的setter,getter方法*/
..................................
}
是高手呵呵
liuzide365 没看懂我的意思啊,谢谢你们了