最近我发现很多人仍然提供1.4.2的javadocs链接.这不是一个很好的做法,我想提出这个问题.
发生这种情况是因为搜索引擎(至少谷歌)会提供旧的javadoc(如果有人搜索),比方说, java.lang.String
那么,如何获得正确(当前1.6)版本的JDK的javadoc?
我正在从我的servlet提供图像.响应内容类型是image/jpeg.我发现从我的servlet请求的图像没有被缓存.如何通过文件图像请求缓存它们?我尝试设置Cache-Control:public但无济于事.
我是ORM的新手,我需要一些帮助来理解一些东西.
假设我有以下标准SQL查询:
SELECT *, COUNT(test.testId) AS noTests FROM inspection
LEFT JOIN test ON inspection.inspId = test.inspId
GROUP BY inspection.inspId
Run Code Online (Sandbox Code Playgroud)
我想在JPA中使用它.
我有一个与Test实体有一对多关系的Inspection实体.(检查有很多测试)我试过在JPQL中写这个:
Query query = em.createQuery("SELECT insp, COUNT(???what???) " +
"FROM Inspection insp LEFT JOIN insp.testList " +
"GROUP BY insp.inspId");
Run Code Online (Sandbox Code Playgroud)
1)如何编写COUNT子句?我必须将count应用于测试表中的元素,但testList是一个集合,所以我不能像smth那样做COUNT(insp.testList.testId)
2)假设1已解决,将返回什么类型的对象.它肯定不是检验对象......我如何使用结果?
假设您将JPA与Spring一起使用,将Hibernate用作JPA实现.JPA事务模式是"JTA",因此您需要将容器transactionManager传递给Hibernate.经典的答案是设置hibernate.transaction.manager_lookup_class为服务器的匹配类.
但是,我认为这取决于服务器特定配置是一种耻辱,因为您已经在Spring中找到了transactionManager <tx:jta-transaction-manager>.
有没有办法使用类似的配置将此事务管理器提供给Hibernate
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="persistence_unit_name"/>
<property name="jpaVendorAdapter">
<bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"/>
</property>
<property name="jpaProperties">
<props>
<prop key="hibernate.transaction.manager_lookup_class">
org.hibernate.transaction.SunONETransactionManagerLookup
</prop>
</props>
</property>
</bean>
<tx:jta-transaction-manager/>
Run Code Online (Sandbox Code Playgroud)
目标是摆脱org.hibernate.transaction.SunONETransactionManagerLookup财产.顺便说一句,我真的有两个不同的服务器实现.
编辑:没有事务管理器配置,Hibernate在创建EntityManagerFactory时会出现问题:
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in URL [file:/C:/configuration/afoCuad-metier-ear/entitymanager-base-context.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: fr.tm.ima.cuad-afoCuad-metier-ejb-PU] Unable to build EntityManagerFactory
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findDefaultEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:529)
at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findEntityManagerFactory(PersistenceAnnotationBeanPostProcessor.java:495)
at …Run Code Online (Sandbox Code Playgroud) commons-lang 3.0仍然是测试版,但它可以在一些maven存储库中找到(我不能)
我有资源包作为Java类从数据库中读取值.当我更新数据库我需要重新加载包,但我不知道如何.有人帮忙吗?
package model.helpers;
public class Messages_en extends ListResourceBundle {
protected Object[][] getContents() {
// from DB
// ...
}
}
Run Code Online (Sandbox Code Playgroud)
在视图中我使用bundle如下:
<f:loadBundle basename="model.helpers.Messages" var="m" />
Run Code Online (Sandbox Code Playgroud) 我在Java中有两组比较Item对象.是否有一个比较组,以该方法Item的equals方法被调用,而不是仅仅比较参考?
我在我的日志文件中多次看到此异常:
调用请求方法导致异常:public static native long java.lang.System.currentTimeMillis()
java.lang.IllegalArgumentException: Invalid handler method return value: 1302697287376
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver.getModelAndView(AnnotationMethodHandlerExceptionResolver.java:410)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerExceptionResolver.doResolveException(AnnotationMethodHandlerExceptionResolver.java:140)
at org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.resolveException(AbstractHandlerExceptionResolver.java:136)
at org.springframework.web.servlet.DispatcherServlet.processHandlerException(DispatcherServlet.java:987)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:811)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:304)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.mortbay.servlet.UserAgentFilter.doFilter(UserAgentFilter.java:78)
at org.mortbay.servlet.GzipFilter.doFilter(GzipFilter.java:154)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:164)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:462)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:562)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:395)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:250)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:302)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at …Run Code Online (Sandbox Code Playgroud) 我使用的是jsps,在我的网址中,我有一个变量的值,比如说"L&T".现在当我尝试通过使用request.getParameter我只获取"L" 来检索它的值.它将"&"识别为分隔符,因此不会将其视为整个字符串.
我该如何解决这个问题?
我正在用javassist创建代理ProxyFactory.创建单个代理时,一切正常.
但是,当我将代理对象传递给代理机制时,它会失败
javassist.bytecode.DuplicateMemberException:重复方法:com.mypackage.Bean中的setHandler _ $$ _ javassist_0 _ $$ _ javassist_1
我用这个创建代理:
public Object createProxiedInstance(Object originalInstance) throws Exception {
Class<?> originalClass = instance.getClass();
ProxyFactory factory = new ProxyFactory();
factory.setSuperclass(originalClass);
factory.setHandler(new MethodHandler() {..});
Class<T> proxyClass = factory.createClass();
return proxyClass.newInstance();
}
Run Code Online (Sandbox Code Playgroud)
那么,我如何创建代理的代理?
更新:实际问题是每个代理实现了ProxyObject定义setHandler(..)方法.所以第二个代理试图重新定义方法,而不是在子类中重写它.