- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 Hibernate 4.2.6 和 Spring 3.1.1
我有一个与此类似的类(class)
@Entity
@Table( name = "MY_TABLE" )
public class MyTable{ ... }
然后我的 hibernate.cfg.xml 文件中有以下内容
<mapping class="com.mycompany.myapp.persistence.domain.MyTable"/>
当我运行 JUnit 测试并获取 session 并查询表时,出现以下错误:
Initial SessionFactory creation failed.org.hibernate.MappingException: An AnnotationConfiguration instance is required to use <mapping class="com.mycompany.myapp.persistence.domain.MyTable"/>
我不明白为什么根据我所读到的内容,AnnotationConfiguration 已被弃用,并且功能已移至配置中。
为了获得 session ,我正在这样做
Configuration configuration = new Configuration();
configuration.configure();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
sessionFactory = configuration.buildSessionFactory(serviceRegistry);
Session session = sessionFactory.openSession();
但无法获取 session 并抛出此错误。
最佳答案
现在似乎可以工作了。解决方案有两个:
首先,这段代码是正确的:
a) 映射类保留在 hibernate.cfg.xml 中
b) 创建一个 HibernateUtil 类
public class HibernateUtil {
private static final SessionFactory sessionFactory = buildSessionFactory();
private static SessionFactory buildSessionFactory() {
try {
// Create the SessionFactory from hibernate.cfg.xml
Configuration configuration = new Configuration();
configuration.configure();
ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(configuration.getProperties()).buildServiceRegistry();
return configuration.buildSessionFactory(serviceRegistry);
}
catch (Throwable ex) {
// Make sure you log the exception, as it might be swallowed
System.err.println("Initial SessionFactory creation failed." + ex);
throw new ExceptionInInitializerError(ex);
}
}
public static SessionFactory getSessionFactory() {
return sessionFactory;
}
}
c) 创建模型类
d) 然后在测试中,像这样在 setup() 中实例化 sessionFactory
sessionFactory = HibernateUtil.getSessionFactory();
e) 然后像这样查询数据库
Session session = sessionFactory.openSession();
session.beginTransaction();
List<TableName> result = session.createQuery("from table").list();
session.getTransaction().commit();
session.close();
第二,在这个 AnnotatedConfiguration 类被弃用之前,我使用 JBoss 4.2 作为我的目标运行时,它使用 Hibernate 3.4.2。不将 JBoss 作为运行时会导致使用 Hibernate 4.2.6(通过 Maven 导入)并且不会导致此错误。应该更加注意,因为 Hibernate 在设置时会打印其版本! :-)
关于java - 当 AnnotationConfiguration 已弃用时,为什么我需要 AnnotationConfiguration 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19038907/
使用 Hibernate 4.2.6 和 Spring 3.1.1 我有一个与此类似的类(class) @Entity @Table( name = "MY_TABLE" ) public class
我在 3.6.0 版中使用 Hibernate,AnnotationConfiguration 被标记为已弃用。 这是我的 HibernateUtil.java 类中的行: sessionFactor
我是 Spring 和 hibernate 的新手。现在我正在尝试将一些数据保存到 mySql 数据库中。但我收到一些错误。 Dispatcher-servelet.xml 中是否需要任何配置才能使用
我有以下java代码: package modelo.util; import org.hibernate.cfg.AnnotationConfiguration; import org.hibern
我在 eclipse luna(v4.4.1) 中使用 hibernate 4.0 和 mysql 5.6,我在我的项目中使用 hibernate 注解。当我更改任何数据库表时,我总是通过 eclip
过去两天我一直在谷歌搜索这个问题,但没有找到任何合适的解决方案。我正在使用 Hibernate 开发桌面应用程序。我正在使用 AnnotationConfiguration 在 hibernate 中
我使用 EJB3 容器管理的持久性,即通过 @PersistenceContext 注释注入(inject) EntityManager。然后,持久上下文可以传播到嵌套 EJB。交易也由容器(glas
我想使用 Configuration() 方法。但是我得到这个错误: Initial SessionFactory creation failed.org.hibernate.MappingExcep
AnnotationConfiguration 和 Hibernate 中的 Configuration 有什么区别?我问这个问题是因为我遇到异常 AnnotationConfiguration 实例
我遇到了以下问题:我尝试用 Eclipse 创建一个简单的 Servlep: @WebServlet(description = "Adress book servlet", urlPatterns
我的 hibernate 有问题。 我使用 IntelliJ 作为 IDE,配置 Web 模块和 Hibernate 模块后,我在标题中遇到了问题...在我的代码下面: private static
我正在使用 Spring MVC 和 Hibernate。当我启动 Web 应用程序时,它在创建 sessionFactory bean 时抛出以下异常: 我的pom.xml 4.0.0
我已经创建了一个网络动态项目,并且想使用 Hibernate与它。 然后,我使用了 Hibernate Code Generation生成类代码,我创建了一个类 HibernateUtil我在哪里初始
这个问题已经有答案了: What causes java.lang.IncompatibleClassChangeError? (21 个回答) 已关闭 9 年前。 最近,我创建了一个 Maven 项
我正在尝试使用 Spring 3.1 和嵌入式 Jetty 8 服务器创建一个没有任何 XML 配置的简单 webapp。 但是,我很难让 Jetty 识别我的 Spring WebApplicati
我正在尝试设置一个嵌入式 jetty 9 实例,它从 .war 文件中获取注释。 到目前为止,它成功运行了,例如GeoServer.war(通过将 ExtractWars 设置为 True),但在 A
我对 Spring 和 Hibernate 框架都很陌生。任务是创建一个具有前端和后端的项目,但现在我想专注于数据库连接。 我的 MySQL 服务器内的本地主机上有 MySQL 数据库。有一个简单的应
我想使用 hibernate 从 MySQL 数据库创建 Java 类。仅使用 eclipse 和 Hibernate-Plugin,效果很好(此处描述: http://www.wikihow.com
我正在使用 HIbernate core 3.6.2 Final。我将注释类映射放在 hibernate.cfg.xml 中,例如 由于我使用 Hibernate 版本 3.6.2,我不需要创建注释配
我正在尝试将 Hibernate 与 jasperreports 结合使用,使用 jasersoft studio (6.10.0), 我在项目中使用 hibernate 5,因此我使用注释来映射类。
我是一名优秀的程序员,十分优秀!