`
luoyu-ds
  • 浏览: 138320 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

处理hibernte多表查询返回对象集合的解决办法

 
阅读更多
public class BeanProperty {
	
	private static final String FILTER_REG = "serialVersionUID";

	public static List<?> arrayCastBean(String dir,List<Object[]> list) {
		List<Object> result = new ArrayList<Object>();
		boolean flag = false;
		try {
			Class<?> clazz = Class.forName(dir);
			Object obj = null;
			Field[] fields = clazz.getDeclaredFields();
			if(fields[0].getName().equals(BeanProperty.FILTER_REG)){
				flag = true;
			}
			for(Object[] values : list){
				obj = clazz.newInstance();
				for(int i=0;i<fields.length;i++){
					if(!fields[i].getName().equals(BeanProperty.FILTER_REG)){
						PropertyDescriptor pd = new PropertyDescriptor(fields[i].getName(), clazz);
						Method m = pd.getWriteMethod();
						m.invoke(obj, values[flag?(i-1):i]==null?"":values[flag?(i-1):i].toString());
					}
				}
				result.add(obj);
			}
		} catch (ClassNotFoundException e1) {
			e1.printStackTrace();
		} catch (IllegalAccessException e2) {
			e2.printStackTrace();
		} catch (InstantiationException e3) {
			e3.printStackTrace();
		} catch (IllegalArgumentException e6) {
			e6.printStackTrace();
		} catch (IntrospectionException e4) {
			e4.printStackTrace();
		} catch (InvocationTargetException e5) {
			e5.printStackTrace();
		}
		return result;
	}
 

 

最后将返回的list强转成你传的地址的javabean就可以了

分享到:
评论

相关推荐

    hibernate多表查询详解

    本文将深入探讨Hibernate中实现多表查询的各种方法,包括Object[]形式、对象方式以及集合list形式的查询。 ### 1. Object[]形式的查询 Object[]形式的查询适用于简单的联接查询,返回的结果是一个对象数组,每个...

    hibernate代码优化基于配置的多表查询

    本文将深入探讨如何通过配置优化Hibernate的多表查询,以提高应用的性能。 1. **联合查询优化**: 在进行多表查询时,Hibernate默认可能会生成多个单表查询,这会导致大量的数据库往返,降低效率。通过配置`@Join...

    注意hibernate查单一字段和查两个以上的字段返回的结果

    如果查询结果是多对一或一对多的关系,那么返回的对象可能会包含关联的对象集合。 而当查询涉及两个以上字段时,情况就变得更加复杂。这可能是为了执行更复杂的筛选,例如查找年龄大于30且工资高于5000的员工。这种...

    hibernate里面的 两种查询

    - HQL则在处理复杂查询,特别是涉及到多个表关联时,表现更出色,能够更直观地表达业务逻辑。 在实际开发中,可以根据项目需求和团队成员的熟悉程度来选择合适的查询方式。有时,两者结合使用也能发挥更大的优势,...

    hibernate02:session对象、hql查询、在线查询也叫对象查询、离线查询

    HQL支持复杂的查询结构,如分组、排序、联接等,并且可以返回单个对象、对象集合或者基本类型的结果。 **在线查询(也叫对象查询)**是指在运行时执行的查询,通常与用户的交互有关。例如,用户在网页上输入搜索...

    hibernate查询集合.pdf

    总之,Hibernate的HQL为Java开发人员提供了一种强大且灵活的查询工具,它允许我们在处理持久化对象时,无需直接编写SQL,从而降低了代码与数据库之间的耦合,提高了开发效率。通过熟练掌握HQL,开发者可以更好地利用...

    Hibernate面试题及答案大集合

    - `load()`方法在一个事务中返回的对象是同一个代理对象,即`c1`和`c2`指向的是同一个对象。 - 因此,打印结果是C) `true`。 #### 7. 更新语句的数量 - **程序分析**: - 由于`setName()`方法的调用发生在同一...

    Hibernate-HQL-查询-Query资料

    - **关联查询**:处理一对多、一对一、多对多等关联关系的查询。 4. **条件查询** - 使用WHERE子句指定查询条件,支持比较操作符(=、&lt;、&gt;、、&gt;=、!=)、逻辑操作符(AND、OR、NOT)以及IN、BETWEEN、LIKE等。 5...

    hibernate 中HQL语句查询学习笔记

    ##### 限制每次查询的返回对象数 可以使用`LIMIT`关键字限制返回的结果数量: ```hql SELECT s FROM Student s LIMIT 5; ``` 这将仅返回前5条学生记录。 ##### 绑定参数 参数绑定提高了查询的安全性和灵活性: ...

    课程hibernate查询集合.pdf

    Hibernate Query Language(HQL)是Hibernate框架中用于查询对象关系映射(ORM)的语句,它是面向对象的,与SQL类似但更专注于处理持久化对象。HQL提供了丰富的功能,包括从简单对象检索到复杂的统计计算。 1. **...

    精华-Hibernate面试题及答案大集合

    - cascade属性用于设置级联行为,当设置为`save-update`时,Hibernate会在保存或更新父对象时自动处理集合中的子对象。 5. **Session的方法**: - Session是Hibernate的主要工作接口,包括`load()`、`save()`、`...

    Hibernate方法总结

    而`iterate`返回一个迭代器,每次调用`next()`方法时才从数据库中获取一条记录,这种方式叫做分页查询,适合处理大数据量的情况,能有效避免内存溢出。不过,由于`iterate`会进行多次查询,所以对于频繁的写操作,...

    hibernate查询语句--HQL

    HQL 是一种面向对象的查询语言,它支持标准 SQL 的大部分功能,并添加了一些额外的功能,如对象导航、集合投影等。本文将深入探讨 HQL 的几个关键方面,包括基本的查询语法、连接操作以及聚合函数等。 #### 基本...

    Hibernate SQLQuery 本地查询

    它还支持返回结果集,可以将其转化为List、Map或其他类型的集合,以便与Java对象进行映射。 接下来,我们来看看BaseDaoSupport类。在许多企业级应用中,为了提高代码的复用性和可维护性,通常会创建一个基础DAO...

    Hibernate教程24_Hibernate的补充_list与iterator

    通过HQL,开发者可以方便地进行复杂的查询,并返回对象集合。 2. **Query接口** 在Hibernate中,执行HQL查询主要通过`Session`对象的`createQuery()`或`createNativeQuery()`方法。查询结果可以通过调用`list()`或...

    hibernate延迟加载解决

    对于一对多关系或者多对多关系中的集合,延迟加载同样重要。这是因为,如果不使用延迟加载,加载一个实体可能会导致所有相关联的实体都被加载到内存中,从而严重影响性能。 **配置方式:** 要启用集合类型的延迟...

    hibernate常用的模板方法

    这两种方法基于给定对象实例的属性值来查找匹配的对象集合。`exampleEntity` 参数代表了一个示例对象,它的非空属性将作为查询条件。`findByExample()` 返回所有符合条件的对象,而 `findByExample(..., ...

    struts+hibernate开发的项目源代码集合

    3. **结果集映射**: 结合Hibernate的HQL或Criteria查询,可以将查询结果直接转换为Java对象,然后通过Struts传递给视图。 这个"struts+hibernate开发的项目源代码集合"包含了5个实例,可以作为学习和参考的宝贵资源...

Global site tag (gtag.js) - Google Analytics