草庐IT

Tomcat-Spring-Hibernate

全部标签

java - Hibernate 检查集合中所有元素是否相等

我有两个实体,即Person和Activity。Activity具有属性状态,Person实体包含Activity集合。我想获得所有Activity状态为“完成”的人员列表。Criteriacrit=s.createCriteria(Person.class);crit.createAlias("activities","act").add(Restrictions.eq("act.status","Done"));但这会返回所有对象,其中至少有一个状态为完成的Activity。我想检索所有Activity状态都设置为“完成”的人员列表。谁能帮帮我? 最佳答

java - 将动态 bean 添加到 spring web 上下文

我需要能够将新bean添加到springweb上下文(在任何范围内),用于在编译时可能在类路径中定义也可能不定义的类。例如,我可以动态创建一些此类,然后为此类注册一个单例或sessionbean。我阅读了一些关于BeanFactoryPostProcessor的内容,但不确定它是否适用于Web上下文,如果我理解正确的话,它只会在实际加载bean实例之前起作用,而不是在那之后,或者我错了吗?我无法在AnnotationConfigWebApplicationContext中找到有关如何执行此操作的信息,至少在我的测试中,我动态创建的所有bean都没有注入(inject)到其他实例中,即使

java - Spring 批处理 : different job launcher for different jobs

我有2份不同的工作(实际上更多,但为简单起见假设有2份)。每个作业都可以与另一个作​​业并行运行,但同一个作业的每个实例都应该按顺序运行(否则实例会蚕食彼此的资源)。基本上,我希望这些作业中的每一个都有自己的作业实例队列。我想我可以使用两个不同的线程池作业启动器(每个都有1个线程)并将作业启动器与每个作业相关联。有没有一种方法可以在从SpringBatchAdminWebUI启Action业时执行此操作? 最佳答案 有一种方法可以为特定作业指定特定作业启动器,但我发现唯一的方法是使用JobStep。如果您有一个名为“specific

java - JPA/Hibernate 可以与其他持久性框架(如 jOOQ)结合使用吗

我们有一个域,其中90%的类都非常简单,可以轻松地在数据库中进行1:1映射。我很高兴Hibernate与spring-data-jpa的结合为这些类消除了大量的琐事。然而,域的其余部分具有挑战性,出于多种原因,我不想将其直接映射到数据库表。我做了实验来引入由Hibernate管理的中间bean并将这些bean映射到我的域,当所有关系都从具有挑战性的部分到容易的部分时,这很有效。当我有由Hibernate管理的“简单”类引用映射到自定义Java代码中的“具有挑战性的”类而不是直接由Hibernate管理时,这种方法失败了。这是当我意识到我无法找到自定义Hibernate和插入某种Obje

java - 如何使用 TestNg 对 Hibernate、H2 进行测试?

什么是测试DAO层的正确方法?我在创建和销毁SessionFactory时使用了@BeforeMethod和@AfterMethod注释方法,但它不适用于多个测试。如果测试一个接一个地运行,但当它们一起运行时没有使用maven构建,所以我决定我应该使用TestNg组对它们进行分组并执行@BeforeGroup和@AfterGroup方法,其中我对Hibernate做了同样的事情。所以我做了这样的事情:@Test(groups={"integration"})publicclassIntegrationTest{protectedSessionFactorysessionFactory;

java - Maven 项目的源文件的更改未反射(reflect)在 tomcat 中

我的Maven项目处于最后阶段。我已经使用mvntomcat7:deploy命令将我的war文件部署到正在运行的tomcat实例,并且war文件在webapps文件夹中展开。我可以通过url访问war文件中的所有源文件。但问题是,当我更改源文件(jsp和servlet)中的任何内容时,更新的war文件不会反射(reflect)在正在运行的tomcat服务器中。我的pom.xml如下。4.0.0com.ceino.mavenMavenWebwar1.0-SNAPSHOTMavenWebMavenWebapphttp://maven.apache.orgjunitjunit3.8.1tes

java - 如何在不终止 VM 的情况下关闭和重新打开 Spring Data Neo4J 上下文

我正在运行一个springdataneo-4j应用程序(不是基于Web的),它在正常操作期间运行良好。如果我关闭Spring上下文“ctx.close()”,neo4J数据库上的锁就会消失。然后,从应用程序的同一个实例中,如果我获取另一个上下文,我会看到锁返回,但是如果我尝试从该上下文读取/写入该数据库,我会收到错误消息:org.springframework.beans.factory.UnsatisfiedDependencyException:Errorcreatingbeanwithname'org.springframework.data.neo4j.config.Neo4j

java - Spring MVC : Having multiple @ModelAttribute in form handling action

上下文我在两个实体之间有一个简单的关联-Category和Email(NtoM)。我正在尝试创建用于浏览和管理它们的网络界面。为了浏览类别并将电子邮件添加到该类别中,我使用了带有类别ID(UUID)的@RequestMapping包装的Controller,因此所有Controller操作始终在路径指定的类别上下文中发生。我使用@ModelAttribute为整个Controller范围预加载上下文类别。问题这种方法适用于列表和显示表单。然而,它在提交表单时失败了——经过一些调试,我发现表单数据覆盖了我的类别@ModelAttribute参数。在我的代码中,在方法save()中,cat

java - 实现缓存 Spring 方法级注解 vs Hibernate 二级缓存

我正在致力于实现某些静态数据的缓存。我有两种方法:使用Spring框架注释使用方法级缓存。启用二级缓存,以便hibernate管理数据缓存哪种方法效果最好?我必须考虑哪些事项? 最佳答案 如果一切都平等考虑更喜欢方法调用结果的Spring缓存,原因是在服务层级别进行缓存更容易推理。Hibernate二级缓存工作正常,但在我看来它更难推理并且有更多缺陷。例如,它不适用于查询,仅适用于通过ID查找或加载惰性关联。实际上惰性关联的加载默认情况下是关闭的,需要在集合级别使用特定于hibernate的注释来启用。要查询查询的结果,您还需要使用

java - hibernate 是否支持 count(*) over()

我试图避免为计数创建一个单独的查询,为实际查询创建一个单独的查询。我发现SessionImpl::createQuery需要花费大量时间进行复杂查询,然后通过结合计数和主查询,我可以消除一个createQuery调用。在SQL中我可以做类似的事情selectcount(*)over(),col_A,col_BfromTABLE_XXwherecol_C>1000hibernate可以实现吗?(我试图避免使用原生sql并坚持使用HQL和分离条件。使用原生SQL违背了使用hibernate的目的。我的系统必须同时支持Oracle和Sybase) 最佳答案