hibernate框架中注意的几个问题

时间:2024-04-07 20:05:43

使用hibernate框架中,session.createSQLQuery创建sql语句的时候遇到的问题

1.  select e.id,d.id

from emp e,dept d

where e.deptid = d.id;

这里要注意给同名字的列起个别名, select e.id eid , d.id  did  否则的话,在java代码中会报错列说明无效的错误

2  假设table orderhis(

id number(19),

opr  number(15) );

class Orderhis{

private Long id;

private String opr}

用string类型表示opr  ,

如果这样写,Orderhis order = new Orderhis();

order.setOpr("1245");保存的时候自动转成number类型不会出错

如果这样写,

order.setOpr("system");在保存的时候也不出错,但是在事务提交的时候,会出现错误,好像是列的说明无效

3关键字in

select * from xxx where xx.empno in (:empnos)

注意,这样设置empnos参数的话,如果empnos只有一个值,比如0009883,并且不能加单引号,这样可以查出来

如果是多个值,这样设置参数是查不到结果的,想要查到结果的话,要用"in("+empnos+")"拼接字符串方式,这个比较特别