草庐IT

Tomcat-Spring-Hibernate

全部标签

java - 测试用例 : Mocking Database using Spring beans

我们的应用程序有一个服务层和一个DAO层,编写为Springbean。在测试服务层时——我不想依赖真实的数据库,所以我通过为DAO层创建一个“模拟”实现来模拟它所以当我测试服务层时——我将服务层bean链接到MockDAObean在生产中——将服务层链接到“真正的”DAObean这是个好主意吗?关于如何模拟数据库层的任何替代建议?澄清:这个问题是关于测试服务层而不是DAO层。在测试服务层时——我假设DAO层已经过测试或不需要测试。最主要的是——我们如何测试服务层——而不依赖于DAO实现——因此我在模拟DAO层 最佳答案 这是我们多年

java - 使用 Tomcat/Websphere 将 JSP 编译为字符串或内存字节数组

我正在转换为图像和PDF输出。我需要一个由我们的应用程序JSP生成的输入HTML文档。本质上,我需要将基于JSP的应用程序的最终输出结果呈现为字符串或内存,然后将该字符串用于其他处理。有哪些方法可以仅调用JSP呈现器来获取通常输出给用户的最终HTML内容?理想情况下,我正在寻找适用于多个应用程序服务器(如websphere)的东西。但是Tomcat特定的东西也可以工作。还有其他几种不同的方法,但我认为呈现JSP(可能包括子JSP)是最好的方法。我宁愿远离的可选路径。我可以使用套接字API对页面执行网络请求,然后读取从该特定页面呈现的最终输出。这可能是下一个最佳选择,但我们在多个服务器和

java - Hibernate Oracle 表空间注解

我正在注释我的DAO并使用hibernate3:hbm2ddl生成ddls。有没有办法注释表空间? 最佳答案 不,没有办法开箱即用。我过去使用以下-相当复杂-方法解决了这个问题:创建您自己的注释,@TableSpec,它具有表空间和其他必要的属性。扩展org.hibernate.cfg.Configuration并覆盖getTableMappings()以返回修饰的Table对象(见下文)。扩展org.hibernate.mapping.Table并覆盖sqlCreateString()和/或sqlAlterStrings()以附加

java - Hibernate 如何在@OneToMany 映射中找到集合的泛型类型?

给定一个简单的实体关系:@EntitypublicclassSingle{@OneToManypublicSetmultiples;}Hibernate如何发现倍数的泛型类型是Multiple?使用标准反射API无法找到此信息。我正在查看源代码,但真的不知道从哪里开始。 最佳答案 但是可以使用反射API找出答案。看看Field.getGenericType():Typetype=field.getGenericType();if(typeinstanceofParameterizedType){Type[]genericArgume

java - 如何在类上创建一个方面,而不是使用 Spring AOP 的 bean?

我在处理遗留应用程序,其中使用了SpringAOP(即ProxyFactoryBean)。我需要围绕某个类的方法添加一个方面。然而,这个类不是一个bean。AspecjJ切入点表达式如下所示:执行(*xyz.package.Class.method())我创建了一个MethodInterceptor和AspectJExpressionPointcut,但我不知道如何让这两者协同工作。编辑:我没有此类的源代码,它是第3方库。这个类的实例不是我创建的,既不是在源代码中,也不是在作为beans的spring配置中。它由图书馆内部使用。感谢任何帮助。 最佳答案

java - hibernate 查询 : positioned parameter and named parameter

HibernateQuery中有两种类型的查询参数绑定(bind)。一种是定位参数,另一种是命名参数。我可以在一个查询中使用这两个参数吗? 最佳答案 当然可以,只要您确保所有位置参数都在任何命名参数之前。这是一个例子:Queryq=session.createQuery("selectufromUseruwhereu.location=?andu.idin(:user_ids)");q.setParameter(0,location);q.setParameterList("user_ids",userIds);returnq.li

java - Hibernate 中 FlushMode.AUTO 和 FlushMode.ALWAYS 的区别?

已经通过FlushMode的hibernateapi规范,但没有得到确切的区别。所以请帮忙。 最佳答案 如果在触发任何查询之前刷新模式为“AUTO”,则hibernate将检查是否有任何表要更新。如果是这样,将进行冲洗,否则不会。如果刷新模式是“ALWAYS”,即使没有要更新的表也会进行刷新。检查来源,org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(AutoFlushEvent) 关于java-Hiber

java - hibernate restrictions.in with and,怎么用?

我有如下表格id,employee_no,survey_no,name1test1test_name2test21test_name23test31test_name34test42test_name4如何通过将下面的AND组合成一个IN语句来使用Restriction.in进行查询?IN[(if(survey_no==1)&&employee_no=='test'),(if(survey_no==1)&&employee_no=='test2'),...] 最佳答案 我认为这是您要使用的条件组合(顺便说一句。帮助Hibernate

java - 使用 spring jdbc oracle 设置 session 时区

我有一个spring/jdbc/oracle10g应用程序。Oracle服务器数据库时区设置为GMT+2JVM时区为GMT+2(尽管在我的情况下这无关紧要)。我有一个执行一些日期操作的存储过程。问题是session时区与数据库时区不同(格林威治标准时间),即使我没有在我的代码/配置中显式设置session时区。据我所知,session时区默认等于数据库时区。知道为什么session时区与数据库时区不同,或者我如何在spring配置(org.apache.commons.dbcp.BasicDataSource)中配置它?谢谢。 最佳答案

java - 未使用 Hibernate 标准投影别名

HibernateProjection别名是否有效?我可以发誓它只是没有。至少,它没有按照我的预期去做。这是Java:returnsessionFactory.getCurrentSession().createCriteria(PersonProgramActivity.class).setProjection(Projections.projectionList().add(Projections.alias(Projections.sum("numberOfPoints"),"number_of_points")).add(Projections.groupProperty("p