草庐IT

Spring-Data-JPA

全部标签

java - Spring 处理程序拦截器 : how to access class annotations?

我用下面的代码注册了我的拦截器@EnableWebMvcpublicclassWebMvcConfigextendsWebMvcConfigurerAdapter{...@OverridepublicvoidaddInterceptors(InterceptorRegistryregistry){registry.addInterceptor(myInterceptor());}...}这里是拦截器定义publicclassMyInterceptorimplementsHandlerInterceptor{@OverridepublicbooleanpreHandle(HttpServ

java - Spring 数据 JPA : Batch insert for nested entities

我有一个测试用例,我需要将100'000个实体实例保存到数据库中。我当前使用的代码执行此操作,但最多需要40秒才能将所有数据持久保存在数据库中。从大小约为15MB的JSON文件中读取数据。现在我已经为另一个项目在自定义存储库中实现了批量插入方法。但是,在那种情况下,我有很多顶级实体需要保留,只有几个嵌套实体。在我目前的情况下,我有5Job包含大约~30JobDetail列表的实体实体。一JobDetail包含850到1100JobEnvelope实体。写入数据库时​​,我提交了Job的列表默认实体save(Iterablejobs)接口(interface)方法。所有嵌套实体都具有Ca

java - 如何设置 Spring 应用程序的日志文件名并记录到 tomcat/logs 文件夹?

如何设置相对于tomcat目录/logs/mylog.log的日志记录路径?我尝试了什么:更改application.properties中的logging.file属性省略文件名:#logging.file=->所有内容都记录到控制台,因此写入tomcat/logs/localhost.yyyy-mm-dd.loglogging.file=mylog.log->写入控制台,因此与#logging.file相同logging.file=d:/mylog.log->写入位置d:/mylog.loglogging.file=../logs/mylog.log->写入控制台,因此仍然写入lo

java - 具有不同实体错误的 JPA 托管映射

我有一个表格,这个表格需要更新我的记录,但显然没有更新,我收到以下错误消息。在4天内处理此异常,我决定提出一个问题。如果您需要额外的信息,我可以添加一些。JSP异常;MergeContext#attempttocreatemanaged->managedmappingwithdifferententities:[main.model.Users#1];[main.model.Users#1];nestedexceptionisjava.lang.IllegalStateException:MergeContext#attempttocreatemanaged->managedmappi

java - 使用 JPA 的事务边界和 DTO 转换

一直在想这个异常应该怎么处理:DTO应该在Controller中转换,服务层不需要知道它们。事务边界由服务层定义。但是您如何避免JPALazyInitialization异常呢?DTO转换可能需要LazyFetched数据,但由于事务是由服务层处理的,因此无法做到。我能想到的方法有很多,但都很难看。将DTO转换放在服务层现在对我来说似乎是最好的。 最佳答案 是的,在服务层操作DTO肯定更好。当使用DTO中包含的更改更新实体时尤其如此,否则您将需要获取和更新分离的实体,将它们传递给服务,将它们再次合并到持久性上下文中,等等。“DTO应

java - 使用hibernate jpa进行JSON序列化和反序列化以在JSON响应中将父对象转换为子对象

我正在使用spring框架、Hibernate和JSON开发restweb应用程序。请假设我有两个如下所示的实体:基础实体.java@MappedSuperclass@JsonIdentityInfo(generator=ObjectIdGenerators.PropertyGenerator.class,property="id")publicabstractclassBaseEntityimplementsSerializable{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)privatelongid;publiclong

java - 获取整棵树的 JPA 查询

我有一个模拟所有类别的类,它们可以按层次排序。@Entity@Table(name="categories")publicclassCategory{@Id@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="sequence")@SequenceGenerator(name="sequence",sequenceName="categories_pk_seq",allocationSize=1)@Column(name="id")privateLongid;@ColumnprivateStringname;@OneTo

java - 多线程应用程序的 JPA 原子查询/保存

我正在更改我的JPA代码以使用线程。每个线程都有一个单独的实体管理器和事务。我曾经拥有的(对于单线程环境)是这样的代码://getobjectfromtheentitymanagerXx=getObjectX(jpaQuery);if(x==null){x=newX();x.setVariable(foo);entityManager.persist(x);}在多线程环境中使用该代码我得到了重复的键,因为我假设getObjectX为一个线程返回null,然后该线程被换出,下一个线程调用getObjextX,也得到null,然后两个线程将创建并保留一个新的X()。如果不添加同步,是否有一

java - 将模拟 bean 注入(inject) spring 上下文进行测试

我知道有人问过类似的问题,例如here,但经过搜索,我找到了一个解决方案,我对here更满意但是,我唯一的问题是我不确定如何实现此解决方案。我想做的是通过HotswappableTargetSource使用我的测试版本覆盖我的应用程序上下文中选择bean的bean定义,然后运行测试。然后对于每个测试用例,我想指定我希望哪些bean是可热插拔的,然后每个测试必须能够创建自己的模拟版本并交换它们,并且能够再次交换回来。我能够获得运行测试的应用程序上下文,但我不知道如何将bean配置为可热插拔。我知道在使用xml配置bean时该怎么做,但我不想回到使用xml配置bean。

java - spring security (3.0.x) 和用户模拟

在我的Web应用程序中,有时经过身份验证的管理员可能想冒充系统的另一个有效用户而不必知道该用户的密码。我如何使用SpringSecurity让管理员用户能够模拟系统的普通(非管理员)用户?SpringSecurity文档对此保持沉默,我在任何地方都找不到任何内容。肯定有人解决了这个问题。谢谢! 最佳答案 它在SpringSecurity3中和SpringSecurity4文档恰本地命名为“Run-AsAuthenticationReplacement”。TheAbstractSecurityInterceptorisabletote