草庐IT

Spring-Hibernate

全部标签

java - 有没有办法在没有 DTO 的情况下将 Hibernate 实体公开为 RESTful 资源?

我正在开发一个简单的网络应用程序,它将域模型公开为RESTful资源。我计划使用JPA2(Hibernate)和SpringMVCREST支持。在将Hibernate实体编码为XML/JSON时,如果实体被分离,它将为惰性子关联抛出LazyLoadingException。如果实体仍然附加到HibernateSession,它几乎会加载整个数据库。我尝试使用DozerCustomFieldMapper来确定该属性是否为未加载的惰性HibernateCollection,然后返回NULL。但如果我们有双向关联,Hibernate会急切地加载多对一端,Dozer将尝试复制属性,这将以无限循

java - 使用 Spring、Hibernate 和 LocalSessionFactoryBuilder 配置 sessionFactory

我正在尝试使用spring3.2和hibernate4创建sessionFactorybean。为此我使用了以下代码。但问题是buildSessionFactory()已弃用并且建议在javadoc中改用buildSessionFactory(ServiceRegistryserviceRegistry)。但是,我无法理解什么是ServiceRegistry以及如何使用buildSessionFactory(ServiceRegistryserviceRegistry)。@ConfigurationpublicclassAppConfig{...@BeanpublicSessionFa

java - 如何在 Spring 中池化对象?

我正在关注这个tutorial关于如何在Spring中池化对象。我已经按照教程中的说明进行操作,但是当我运行我的应用程序时,它总是会生成该对象的一个​​新实例。我期望因为我正在合并对象,所以现有对象将被重用。因此,不应创建新实例。此外,当我访问bean的getter方法时,将再次创建bean的新实例。我可能做错了什么?我是否误解了Spring中池化的概念?下面是我的代码:应用上下文:(这只是我的应用上下文的主体。)Controller:(这只是我方法的主体)@RequestMapping("/hello")publicModelAndViewhelloWorld(HttpServlet

java - Spring Data 网页分页 "page"参数不起作用

我正在尝试让SpringData的Web分页正常工作。在这里描述:http://static.springsource.org/spring-data/data-jpa/docs/current/reference/html/repositories.html#web-pagination这是我的Java(SpringWebMVC@Controller处理程序方法):@RequestMapping(value="/list",method=RequestMethod.GET)publicStringlist(@PageableDefaults(value=50,pageNumber=0

java - Hibernate命名查询及其性能优势?

正如hibernate文档所说,命名查询的目的是将HQL从项目中的不同位置清除到某些xml中的单个位置(在声明性方法的情况下)。这意味着在查询修改但重新加载的情况下不需要重新编译session工厂是必需的,这意味着在大多数情况下服务器会在查询对象被缓存时启动。但是在注释的情况下,我需要在实体级别定义命名查询。所以这里再次编译需要。我的问题是命名查询是否也有助于提高性能。这是我的理解:-1)当我使用命名查询时,只有查询对象缓存在二级缓存中。当我说只是查询对象时,它意味着只是查询语法被缓存而不是查询结果。对吗?如果它是正确的,那么它可能仅在HQL的情况下有用,因为我们可以避免将HQL转换为

java - 如何配置 Spring Controller 和/或 JAXB 以帮助防止 SQL/XSS 注入(inject)

我在Spring中有一个Controller,其方法如下所示@RequestMapping(value="/v1/something",method=RequestMethod.POST,headers="content-type=application/xml")@Validpublicvoidsomething(@RequestBodyfinalSomeBodymyDto.....我想确保请求主体不包含任何SQL或Javascript字符,以帮助避免SQL注入(inject)、XSS攻击等。JAXB是否已处理该场景?我正在考虑编写一个过滤器,但我只能读取一次请求正文?有什么建议吗?

java - Spring 无法注入(inject)实体管理器工厂

我使用JPA为我的DAO类编写测试,使用Hibernate作为JPA提供程序和Spring3.2。我无法正确注入(inject)实体管理器,尝试访问它时出现NullPointerException。我的GenericDAO实现如下所示:@RepositorypublicclassGenericDAOImplimplementsGenericDAO{@PersistenceContext(unitName="unitname")privateEntityManagerentityManager;publicEntityManagergetEntityManager(){returnent

java - 如何使用Spring StandardPasswordEncode和Get Salt Generate?

我如何加密密码并将其插入数据库并在比较后他何时要连接?我会使用StandardPasswordEncoderSpringsecurity3.1.4来加密我的密码并插入到数据库中。但是如何回收该方法产生的盐分呢?这是文档Spring安全性的示例:StandardPasswordEncoderencoder=newStandardPasswordEncoder("secret");Stringresult=encoder.encode("myPassword");assertTrue(encoder.matches("myPassword",result));我问她是因为我需要selt命令

java - 使用 spring 3 restful 以编程方式更改 http 响应状态

我有一个像下面这样的Controller@Controller("myController")@RequestMapping("api")publicclassMyController{@RequestMapping(method=RequestMethod.GET,value="/get/info/{id}",headers="Accept=application/json")public@ResponseBodyStudentgetInfo(@PathVariableStringinfo){.................}@ExceptionHandler(Throwable.

java - Spring 可以在 OPTIONS 方法上自动生成 'Allow' header 吗?

当我在SpringMVC中配置我的RequestMapping时,我想在OPTIONS方法是时自动生成正确的Allowheader用过。例如,使用这个Controller:@Controller@RequestMapping("/test")publicclassTestController{@RequestMapping(method=RequestMethod.GET)ResponseEntitygetTest(){returnnewResponseEntity("test",HttpStatus.OK);}}现在,如果我对该URL执行OPTIONS请求,我会收到405,方法不允许