当前位置:首页 » 编程语言 » hibernate用sql查询

hibernate用sql查询

发布时间: 2025-06-10 02:50:05

① 到底怎么查看Hibernate生成sql中的参数值

Hibernate在查询出一行数据之后,内部实现还是将数据读出到ResultSet里。
然后分析session.get(Class, Object)函数的Class参数,通过类反射可以知道该Class包含哪些对象并且newInstance一个该类的对象。
从ResultSet读出属性填充到该对象,用户只需要对这个对象进行简单的类型转换就可以使用了。
例子如下:
static final ActiveRecord setupObject (Object object, ResultSet resultSet) throws java.sql.SQLException, ObjectAnalysisException
{
Map<Field, Accesstor> fields = ActiveRecord.analizeObjectFields(object);
try
{
for(Field field : fields.keySet())
{
Object value = resultSet.getObject(field.getName());
if(value != null)
fields.get(field).getSetter().invoke(object, value);
}
}
catch(SQLException err)
{
throw err;
}
catch(Exception err)
{
if(err instanceof IllegalAccessException || err instanceof IllegalArgumentException)
throw new ObjectAnalysisException(err.toString(), err);
else if(err instanceof InvocationTargetException)
throw new ObjectAnalysisException(err.toString(), err);
}
object.setId(resultSet.getLong("id"));
return object;
}

② hibernate的的sql查询怎么设置参数

有多种方式
1 变量直接赋值
sql = select * from xx where t.a ="+b+"
b="s";
执行
2 select * from xx where t.a=b
creatSQLQuery(sql).addScalar("b".Hibernat.String)//类型

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:593
制作脚本网站 发布:2025-10-20 08:17:34 浏览:888
python中的init方法 发布:2025-10-20 08:17:33 浏览:582
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:765
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:684
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1013
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:255
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:114
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:806
python股票数据获取 发布:2025-10-20 07:39:44 浏览:713