最近在做一个项目要用到hibernate annotation,参考着hibernate annotation的文档建立工程,但是在刚建立项目准备测试运行环境的时候却怎么也运行不起来,看日志里的输出信息:
No connection properties specified - the user must supply JDBC connections
明明配置好了为什么还是不能运行了刚开始是这样写的:
import org.hibernate.*;
import org.hibernate.cfg.*;
public class HibernateUtil {
private static final SessionFactory sessionFactory;
static {
try {
[color=red]sessionFactory = new AnnotationConfiguration().buildSessionFactory();[/color]
} catch (Throwable ex) {
// Log exception!
throw new ExceptionInInitializerError(ex);
}
}
public static Session getSession()
throws HibernateException {
return sessionFactory.openSession();
}
}
后来查了以前写的项目才发现hibernate annotation中的文档有误(上边红色标记),这样写是不能读取到hibernate.cfg.xml的,修改方法如下:
sessionFactory = new AnnotationConfiguration().configure().buildSessionFactory();
这样这正确运行了
分享到:
相关推荐
这里的`HibernateUtils`使用`AnnotationConfiguration`初始化SessionFactory,这是与使用XML配置文件的不同之处。`AnnotationConfiguration`允许我们在不编写.hbm.xml文件的情况下,直接在实体类上使用注解进行对象...
Spring的ApplicationContext会初始化所有依赖的对象,包括Struts2的Action和Hibernate的SessionFactory,然后注入到需要这些服务的类中。这样,开发者不需要在Action或DAO中手动创建这些对象,而是由Spring自动提供...
1. **配置与初始化**:Hibernate 3.3.2的配置文件(通常为hibernate.cfg.xml)是项目启动的基础,包含了数据库连接信息、缓存策略、事务管理等关键设置。初始化时,会通过SessionFactory构建器加载配置,并生成...
- `@LazyCollection`: 实现懒加载,避免初始化时加载大量数据。 - `@Cascade`: 配置级联操作,如SAVE_UPDATE、DELETE等,确保关联对象的同步更新。 6. **查询注解** - `@NamedQuery`: 预定义命名查询,可以在...
不再需要从XML配置文件读取信息,而是通过AnnotationConfiguration或HibernateUtil类进行初始化。 四、HelloWorld示例 1. 创建实体类:例如User类,使用注解定义其属性与数据库表的对应关系。 ```java @Entity @...
2. 在这个新的类中,我们需要覆写或添加方法,以便在初始化时能够处理XML映射文件。这通常涉及到对`LocalSessionFactoryBean`中的方法进行调用,如`configure()`和`buildSessionFactory()`。 3. 确保在项目结构中...
在Hibernate3中,注解可以替代传统的XML配置文件,将实体类和数据库表之间的映射关系直接定义在类的属性上,提高了代码的可读性和开发效率。 在整合这三个框架时,通常会使用Spring来管理Struts2的Action,这样可以...
3. Configuration:配置对象用于读取Hibernate配置文件,初始化SessionFactory,它是单例的,负责管理整个应用的数据库连接。 二、Hibernate核心组件 1. Configuration:加载hibernate.cfg.xml配置文件,设置...
首先,Spring框架的注解配置允许我们避免XML配置文件的繁琐,通过在类或方法上添加注解,实现依赖注入(Dependency Injection)。例如,`@Component`、`@Service`、`@Repository` 和 `@Controller` 注解用于定义bean...
2. **配置和初始化**:在使用Hibernate Annotations时,需要对Hibernate进行配置,以识别和加载注解。通常,这涉及到在Hibernate配置文件中指定实体扫描路径,让Hibernate知道在哪里查找被注解标注的实体类。 3. **...
在Hibernate初始化时,会读取配置文件并生成SessionFactory。这个过程涉及到了Configuration类,它负责解析配置信息,并结合实体类信息(通过AnnotationProcessor或XML映射文件)生成Metadata。Metadata包含了关于...
1. **读取配置文件**:使用`Configuration`类加载`hibernate.cfg.xml`文件,通过`configure()`方法指定配置文件路径。 2. **创建`SchemaExport`对象**:通过`SchemaExport`类创建数据库表。 3. **执行`create`方法...
1. **bean.xml**:这是Spring的配置文件,用于定义bean的实例和依赖注入。在`bean.xml`中,我们启用注解配置,以便可以使用Spring的注解如@Service和@Repository,同时避免与Spring MVC的@Controller注解冲突。这...
我们可以通过配置文件或者使用Annotation配置来初始化SessionFactory。 2. **打开和关闭Session**:在开始数据库操作前,我们需要调用SessionFactory的openSession()方法来打开Session。完成操作后,务必调用...
这将使得Spring在初始化SessionFactory时自动加载这些查询语句到容器中。 【标签管理】 除了XML配置文件,还可以使用注解(Annotation)来管理查询语句。例如,可以直接在Entity类上使用`@NamedQuery`和`@...
这种映射关系通常通过Hibernate的配置文件(如hibernate.cfg.xml)和映射文件(如.hbm.xml)来定义。 首先,你需要了解Hibernate的核心组件: 1. Session:这是与数据库进行交互的主要接口,用于执行CRUD(创建、...
`<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>` 是一个监听器,它会在Web应用启动时加载`contextConfigLocation`中指定的Spring配置文件,创建Spring的...
2. **配置文件**:`hibernate.cfg.xml`是Hibernate的配置文件,其中包含了数据库连接信息、缓存设置、方言选择等配置项,是初始化Hibernate会话工厂的关键。 3. **实体类**:在Hibernate中,实体类代表数据库中的表...
你需要在Spring配置文件中定义一个SessionFactoryBean,设置相应的Hibernate配置属性,如hibernate.dialect(针对Firebird的方言)、hibernate.connection.driver_class(Firebird JDBC驱动类)以及数据库连接信息。...