`
z610
  • 浏览: 40118 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Java application using hibernate scan all annotated class

 
阅读更多

package com.dts.test;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.Entity;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.cfg.Configuration;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider;
import org.springframework.core.type.filter.AnnotationTypeFilter;

public class Test {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Configuration conf = new AnnotationConfiguration();
		
		ArrayList<Class> classes = new ArrayList<Class>();

		ClassPathScanningCandidateComponentProvider scanner = new ClassPathScanningCandidateComponentProvider(false);
		scanner.addIncludeFilter(new AnnotationTypeFilter(Entity.class));

		for (BeanDefinition bd : scanner.findCandidateComponents("com.abc.model")) {
			String name = bd.getBeanClassName();
			try {
				classes.add(Class.forName(name));
			} catch (Exception E) {
			}
		}
		
		for(Class one : classes) {
			conf.addAnnotatedClass(one);
		}
		
		SessionFactory sf = conf.configure().buildSessionFactory();
		Session session = sf.openSession();
		try {
			Query query = session.createQuery("from User t where t.state = :statetate");
			
			query.setParameter("state", 1);
			
			List list = query.list();
			
		} catch (Exception ex) {
			ex.printStackTrace();
		} finally {
			session.close();
		}
	}

}
 
分享到:
评论

相关推荐

    Thinking in Java 4th Edition Annotated Solutions Guide

    根据提供的文件信息,以下是对文件《Thinking in Java 4th Edition Annotated Solutions Guide》中所包含知识点的详细解释: 首先,文件标题《Thinking in Java 4th Edition Annotated Solutions Guide》指出了这是...

    Thinking in Java 4th Edition + Annotated Solution Guide (代码)英文文字版 带书签 有答案

    "Thinking in Java 4th Edition + Annotated Solution Guide (代码)英文文字版 带书签 有答案" 指的是该资源包含了《Thinking in Java》第四版的英文文本,同时附带有注解的解决方案指南,这将有助于读者在遇到...

    The Thinking in Java Annotated Solution Guide

    《Thinking in Java Annotated Solution Guide》是一本针对Bruce Eckel的畅销书《Thinking in Java》的解答指南,主要针对第四版的内容。这本书是Java编程学习者的宝贵资源,它提供了书中练习题的详尽解答,帮助读者...

    Thinking in Java 4th Edition with Annotated Solution Guide编程思想+课后习题源码

    《Thinking in Java 4th Edition with Annotated Solution Guide》是一本经典的Java编程教材,由Bruce Eckel撰写。这本书深入浅出地介绍了Java编程的核心概念和技术,对于初学者和经验丰富的开发者来说,都是一个...

    thinking in java annotated solution guide 电子书格式

    在这个压缩包中,"thinking in java annotated solution guide.chm"即是《Thinking in Java》的解答指南的CHM版本,用户可以通过这个文件查阅书中习题的官方解答,对于学习和提高编程技能非常有帮助。 在标签中提到...

    Annotated Solution Guide for Thinking in Java 4th Edition

    Annotated Solution Guide for Thinking in Java 4th Edition 中文资源名称:Thinking In Java第四版 课后练习答案。这本是 herosongly 上传的,但是他要 10 分 的资源分,导致很多朋友不能下载。我现在将其免费公布...

    The_Thinking_In_Java_Annotated_Solution_Guide.pdf

    从文件的描述和部分内容中,我们可以了解到《The Thinking In Java Annotated Solution Guide》是《Thinking In Java》第4版的官方练习解答指南,提供给教师和学生作为教学和学习的辅助材料。这份解答指南详细解答了...

    java-lib-annotated-validator,使用注解的Java验证程序库.zip

    Java-lib-annotated-validator是一个开源项目,专注于提供一个基于注解的Java验证程序库。它利用自定义的运行时注释和Java的反射机制来实现数据验证,这为开发者提供了更加灵活和方便的方式来验证对象属性的正确性。...

    Annotated Solution Guide for Thinking in Java 4th Edition(高清pdf)

    Annotated Solution Guide则是为了解答读者在学习过程中遇到的课后练习难题,帮助读者巩固理解并深化对Java编程的理解。 1. **面向对象编程**:Java是一种面向对象的语言,其核心思想是封装、继承和多态。书中详细...

    电气柜标准资料.zip

    《电气柜标准资料详解》 低压配电柜是电力系统中不可或缺的部分,主要用于分配、控制和保护电路。在工业生产和生活中,低压配电柜扮演着至关重要的角色。本资料集旨在深入探讨低压配电柜的基础知识,包括标准柜的...

    Annotated+Solution+Guide+for+Thinking+in+Java+4th+Edition

    这份"Annotated Solution Guide for Thinking in Java 4th Edition"压缩包文件提供了该书配套的习题解答,对于深入理解和掌握Java编程语言至关重要。下面将详细阐述其中涉及的知识点。 1. **基础语法**: 包括变量...

    配置hibernate数据源

    配置Hibernate数据源是一项基础而重要的任务,涉及在Java应用程序中集成和使用Hibernate框架以及MySQL数据库。以下内容旨在详细介绍如何在MyEclipse开发环境中配置Hibernate数据源,同时解释相关概念和步骤。 首先...

    Learning Spring Application Development

    Following this, you will explore how to implement the request handling layer using Spring annotated controllers. Other highlights include learning how to build the Java DAO implementation layer by ...

    The Thinking in java Annotated Solution Guide

    The Thinking in java Annotated Solution Guide 是Thinking in Java 的习题答案,对于你学习Thinking in Java这本书有很大的帮助!

Global site tag (gtag.js) - Google Analytics