草庐IT

data_stream

全部标签

java - 如何在 Java 8 Stream.flatMap(..) 中捕获异常

给定一个Stream和一个返回Stream作为数据源的不同参数的方法,我正在寻找一种通过flatMap合并流的方法(..)并在执行期间捕获某些Exceptions。让我们看下面的代码片段:publicclassFlatMap{publicstaticvoidmain(finalString[]args){longcount;//thismightthrowanexceptioncount=Stream.of(0.2,0.5,0.99).flatMap(chance->getGenerator(chance,20)).count();//tryingtocatchtheexception

java - 在 Spring Data 上选择字段

我正在尝试查找有关如何使用SpringData(我正在使用JPA)仅选择实体的某些字段的信息。我只想选择一个实体的特定信息,存储库接口(interface)为您提供了返回整个实体信息的方法!。有时我只需要实体的2或3个字段并返回20,30,...100..字段可能有点矫枉过正。我会使用HibernateCriteriaProjections甚至JPA“SELECTNEW....”查询来实现这种功能。不知道SpringData是否可行。谢谢。 最佳答案 你可以做的是返回一个List从存储库。然后在您的服务类中迭代此列表并手动创建您需要

java - Spring Data (JPA) Repository 是线程安全的吗? (也就是 SimpleJpaRepository 线程安全的)

我正在使用SpringData(JPA)repository处理CRUD样板文件。我这样定义我的存储库接口(interface):importorg.springframework.data.repository.CrudRepository;publicinterfaceFooRepositoryextendsCrudRepository{publicFoofindByXAndYAndZ(Xx,Yy,Zz);}然后Spring自动神奇地为我生成了所述接口(interface)的实现。我们得到的是一个代理,但我相信最终我们会得到一个org.springframework.data.jp

java - Spring Data JPA 通过从父实体获取 id 来插入子实体和父实体

我想通过对父实体调用save将父实体和子实体一起保存到MySQL数据库中。Parent和Child实体之间存在一对一的映射。父ID是自动生成的,我们也需要在child中使用与child的pk相同的ID。我正在使用SpringDataJPA2.0(JPA提供程序是Hibernate)和SpringMVC框架。当尝试插入实体时,出现以下错误。根本原因org.springframework.dao.DataIntegrityViolationException:not-nullpropertyreferencesanullortransientvalue:com.serro.cbmapi.m

java - 使用 Java8 stream api 将函数列表应用于值

我想要一个单条日志消息pojoLoggedExchange并对其应用一系列转换。转换是列表中的一元运算符:Listtransforms=newArrayList();哪里ConditionalTransform工具UnaryOperator我目前的解决方案是像这样使用reduce:publicLoggedExchangetransform(LoggedExchangeoriginal){returntransforms.stream().reduce(original,(o,t)->t.apply(o),(m1,m2)->m2);}并行运行它没有意义,因为无法合并两条消息((m1,m2

java - 如何使用 Java 8 Stream 扩展和重组列表列表?

我有一个A类列表,其中包括一个列表本身。publicclassA{publicdoubleval;publicStringid;publicListnames=newArrayList();publicA(doublev,StringID,Stringname){val=v;id=ID;names.add(name);}staticpublicListcreateAnExample(){Listitems=newArrayList();items.add(newA(8.0,"x1","y11"));items.add(newA(12.0,"x2","y21"));items.add(n

java - 使用 Spring Data 在 Spring Boot 应用程序中 Autowiring DynamoDB 存储库

我正在使用SpringBoot迈出第一步,现在有一段时间,我遇到了以下问题。目标我想使用SpringData将应用程序数据存储在AWS上的DynamoDB中。为此,应该有一个单一的服务来封装与持久性相关的所有内容。代码应尽可能简单易读。因此,我尽量避免使用XML配置,而是使用注解。问题Spring无法Autowiring数据服务中的存储库实例(NoSuchBeanDefinitionException)。更新:集成测试也依赖于使用@Autowire的存储库(见下文),但也失败了。我还尝试创建存储库接口(interface)的虚拟实现并将其标记为@Component-这也可以正常工作。因

java - 如何将这个经典的 Java 代码重写为 Java Stream API 代码?

有一段旧的Java代码(没有lambda表达式):publicListgetAttackedCheckersForPoint(CheckerPositionfrom,booleanisSecondPlayerOwner,booleanisQueen,VectorDirectionignoredDirection){ListallDirections=VectorDirection.generateAllDirections();Listresult=newArrayList();for(VectorDirectiondirection:allDirections){if(!direct

java - Spring Data JPA 方法 + REST : Enum to Integer conversion

我有一个端点:/api/offers/search/findByType?type=X哪里X应该是Integer值(我的OfferType实例的序数值),而Spring考虑X一个String并将应用其StringToEnumConverterFactory与StringToEnum转换器。publicinterfaceOfferRepositoryextendsPagingAndSortingRepository{ListfindByType(@Param("type")OfferTypetype);}所以我写了一个自定义Converter它只是通过给定的序号获得一个实例:public

java - 仅使用两个键和奇数或偶数列表索引作为值将 List 转换为 Map - Java 8 Stream

我想将列表转换为map,只使用两个字符串值作为键值。然后作为值只是包含来自输​​入列表的奇数或偶数索引位置的元素的字符串列表。这是旧时尚代码:Map>map=newHashMap();Listlist=Arrays.asList("one","two","three","four");map.put("evenIndex",newArrayList());map.put("oddIndex",newArrayList());for(inti=0;i如何使用流将此代码转换为Java8以获得此结果?{evenIndex=[one,three],oddIndex=[two,four]}我目前