我是新的Maven ..我想创buildspringMVC + Hiberante的maven项目,但我得到很多错误..任何一个解决我的问题,请检查我的pom.xml下面 <?xml version="1.0" encoding="UTF-8"?><project> <modelVersion>4.0.0</modelVersion> <groupId>Spring3HibernateMaven</groupId> <artifactId>Spring3HibernateMaven</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <description></description> <build> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <source>1.5</source> <target>1.5</target> </configuration> </plugin> <!– <plugin> <artifactId>maven-war-plugin</artifactId> <version>2.0</version> </plugin> –> </plugins> </build> <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-beans</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${org.springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> […]
这是工作: <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> … 但升级到上述版本打破了它。 使用Spring 3.1.Release和Hibernate 4.0.0.FINAL创buildSessionFactory bean的正确方法是什么? 部署错误是: 嵌套的exception是java.lang.NoClassDefFoundError:Lorg / hibernate / cache / CacheProvider; 编辑 已经添加了我自己的答案,这为我解决了。
这是我目前的项目结构: pom.xml /src /main /resources hibernate.cfg.xml /META-INF persistence.xml 我在这两个文件( hibernate.cfg.xml和persistence.xml )中都有非常相似的configuration参数,这看起来很奇怪,但这是我在许多在线示例和教程中看到的。 我不明白为什么我需要有两个文件。 是否可以只与一个工作? 请解释。 PS。 例如,我应该在两个文件中声明hibernate.dialect ,还是只有一个就足够了? 如果是这样,哪一个使用?
org.hibernate.Query中的setMaxResults和setFetchSize什么区别? 我只是不能得到它=)
任何人都可以告诉我在Hibernate中load()vs get()的优点是什么?
我正在和Spring一起开发一个项目,为什么我一直在收到以下错误? javax.validation.UnexpectedTypeException:types:java.lang.Integer中找不到validation器 Code: package com.s2rsolutions.model; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; import javax.validation.constraints.Size; import org.hibernate.validator.constraints.NotEmpty; @Entity @Table(name = "sales") public class Sales { @NotEmpty(message = "The above field must not be blank.") @Column(name = "ttl_d_sls_lst_mth", nullable = false) private Integer ttl_d_sls_lst_mth; @NotEmpty(message = "The above field must not be blank.") @Column(name […]
我成功地将这个注解用于了Dao类。 回滚适用于testing。 但是现在我需要回滚实际的代码,而不仅仅是testing。 有特殊的注释用于testing。 但是哪些注释是针对非testing代码的? 这对我来说是一个很大的问题。 我已经花了一天的时间了。 官方文件不符合我的需要。 class MyClass { // this does not make rollback! And record appears in DB. EmployeeDaoInterface employeeDao; public MyClass() { ApplicationContext context = new ClassPathXmlApplicationContext( new String[] { "HibernateDaoBeans.xml" }); employeeDao = (IEmployeeDao) context.getBean("employeeDao"); } @Transactional(rollbackFor={Exception.class}) public void doInsert( Employee newEmp ) throws Exception { employeeDao.insertEmployee(newEmp); throw new […]
问候,目前正在开发小型Web服务应用程序,其中来自Web服务(使用CXF + Spring)的响应被处理并保存到数据库中。 为了使用数据库,我使用了Hibernate(3.5)。 在网上浏览一些Hibernate + Spring的例子,我经常可以看到HibernateTemplate的用法,所以我对这一刻有些困惑,想问一下: 你在你的Hibernate3应用程序中使用HibernateTemplate吗? 何时HibernateTemplate可以使您的开发生活更好,并根据我可以决定什么点我需要使用它吗? 谢谢。
我正在使用Hibernate 3.6,我有这样的代码: list =getSession().createSQLQuery(queryString) .addScalar("UNAME",Hibernate.STRING) .addScalar("COM",Hibernate.STRING) .addScalar("COM_DATE",Hibernate.DATE) .setString("id", Id).list(); 现在我把瓶子从3.6更换为4.1Final 好像addScalar方法是要求Type而不是Hibernate.STRING我找不到任何热的例子来解决这个问题。 如果有谁知道请帮我谢谢。
我基本上在这个configuration中有一些对象(真正的数据模型有点复杂): A与B有多对多的关系(B有inverse="true" ) B与C有着多对一的关系(我把cascade设置为"save-update" ) C是一种types/类别表。 另外,我应该提到主键是由数据库在保存时生成的。 有了我的数据,我有时会遇到A有一组不同的B对象的问题,这些B对象引用同一个C对象。 当我调用session.saveOrUpdate(myAObject) ,我得到一个hibernate错误,说: "a different object with the same identifier value was already associated with the session: C" 。 我知道hibernate不能在同一个会话中插入/更新/删除同一个对象两次,但是有没有办法解决这个问题呢? 这似乎不是那种罕见的情况。 在我研究这个问题的时候,我已经看到人们使用session.merge() ,但是当我这样做的时候,任何“冲突的”对象都被作为空白对象插入到数据库中,所有的值都设置为null。 显然这不是我们想要的。 另外一个我忘记提到的是(由于体系结构的原因,我无法控制),每个读或写需要在一个单独的会话中完成。