草庐IT

data-collection

全部标签

用于将复杂实体发布到 Spring Data REST/HATEOAS 服务的 Java 客户端

据我所知,提供了将复杂对象转换为正确HAL格式的方法。这当然是在编码框架本身中的对象时利用的。Resource和Link对象等为了一个用例:Company1是我系统中现有的Company。我想添加一个为Company1工作的新Employee下面是一个示例Employee对象,您将从基于SpringDataREST的服务接收到该对象。SpringHATEOAS还提供了自己构造这些对象的方法。{"id":null,"firstName":"bZWthNFk","lastName":"GtTnrqka","loginId":"zTk5rT","active":true,"_links":{

java - 带有 postgresql 的串行列上的 Spring Data JPA "null value in column xxx violates not-null constraint"

我的实体有一个mapOrder字段,我希望它像下面这样自动递增:@EntitypublicclassMap{@Id@GeneratedValue(strategy=GenerationType.IDENTITY)privateLongid;@Column(columnDefinition="serial")privateLongmapOrder;//.......}生成的sql看起来不错:CREATETABLEmap(idbigserialNOTNULL,map_orderserialNOTNULL,...)但是当我用SpringDataJPA的存储库保存它时,像这样:Mapm=new

java - 使用 openEntityManagerInView 仍然得到 "failed to lazily initialize a collection of role"

我试图将我的一个实体返回到JSP页面,但收到以下错误“无法延迟初始化角色集合”。我已经添加了openEntityManagerInView过滤器(假设它允许实体管理器在View中保持打开状态?)但仍然出现此错误。我的应用程序是使用没有xml的javaconfig配置的。下面是我的调度程序servelet。你可以看到我已经添加了openEntityManagerInView过滤器。知道这是为什么吗?我在stackoverflow上检查过类似的问题,但没有找到所提供的解决方案。publicclassDispatcherServletInitializerextendsAbstractAnn

java - hibernate/Ehcache : evicting collections from 2nd level cache not synchronized with other DB reads

我有一个使用JPA、Hibernate和ehcache的应用程序,以及Spring的声明式交易。数据库上的负载相当高,因此所有内容都被缓存以加快速度,包括Collection品。现在集合被单独缓存已经不是什么secret了来自拥有它们的实体,所以如果我删除一个作为此类元素的实体缓存集合,持久化一个应该是一个元素的实体,或者更新一个实体使得它从一个集合移动到另一个集合,我必须执行驱逐手工制作。所以我使用了一个hibernate事件监听器,它跟踪实体被插入、删除或更新并保存该信息以用于在Spring中注册的事务同步事务管理器采取行动。一旦事务已提交。现在的问题是很多时候,一些其他并发事务设

java - ArrayList 在 Java Collection Framework 内部是如何表示的?

我正在听RobertSedgewick在Coursera上的算法讲座。当Robert先生指出不能将泛型与数组一起使用时,我有点困惑,因为这是不允许的。但是CollectionFramework中的ArrayList在内部使用Arrays并且允许使用Generic数据类型。我的意思是说我们可以执行以下操作:ArrayListlist=newArrayList();他指出的一个hack是这样的:publicclassFixedCapacityStack{privateItem[]s;privateintN=0;publicFixedCapacityStack(intcapacity){s=

java - Spring Data Hibernate + 可分页 : Returns empty results

我正在使用SpringData存储库,没有任何问题。当我尝试添加Paging(使用Pageable接口(interface))时,它工作正常。但是,当返回的结果集小于页面大小时,结果为空列表。以下是我的PageRequest。index和objectsPerPage的默认值分别为0和10。newPageRequest(pageIndex_,objectsPerPage_,newSort(orders))将它用于返回少于10个结果的查询时,结果列表为空。这是我在服务层使用存储库的方式:repository.findAll(MySpecification.searchClients(cri

java - 乐观锁的重试机制(spring data + JPA)

我们决定在我们的Web应用程序中使用乐观锁定以提高并发性,而不使用悲观锁定。我们现在正在寻找重试解决方案。我们希望对当前代码库的影响尽可能小。我们在网上看到的一种解决方案是使用带有注释的重试拦截器将方法标记为可重试。问题是我们想注释带有@Transactional注释的方法,但拦截器由于某种原因无法重试它们。(拦截器完美重试非事务方法。)所以:1)是否有任何对我们的代码影响最小的重试替代方案?2)是否有该解决方案的文档\教程?3)是否可以重试@Transactional注释的方法?干杯! 最佳答案 广告3.您可以使用SpringRe

java - Spring Data - 覆盖某些存储库的默认方法

我只是盯着spring-data和spring-data-rest,我真的很想利用这些工具提供的功能。在大多数情况下,基本功能非常适合我的用例,但在某些情况下,我需要对底层功能进行相当多的自定义,并有选择地分配一些存储库来继承我所追求的自定义功能。为了更好地解释这个问题,在spring-data中有2个可能的接口(interface),您可以从它们继承功能,CrudRepository或PagingAndSortingRepository。我想添加第三个叫做让我们说PesimisticRepositoryPesimisticRepository所做的只是以不同方式处理已删除的@Enti

java - Collections.sort 没有对任何东西进行排序

我正在尝试以一种简短的方式对字符串数组进行排序。我正在尝试使用Collections.sort,但我不明白为什么它不对任何内容进行排序。代码:publicstaticString[]FishNamesSorted;.....Listnameslist=newArrayList();nameslist.toArray(FishNamesSorted);Collections.sort(nameslist,String.CASE_INSENSITIVE_ORDER);(){两种情况下的结果:紫罗兰网纹紫罗兰长尾紫罗兰假单胞菌科....为什么? 最佳答案

java - Spring Data Rest - 软删除

我一直在使用springdatarest没有任何问题,但现在我有一个要求,即当用户对给定实体执行DELETE操作时,即DELETE/accounts/我需要在数据库上设置一个标志,将该实体标记为已删除,但我确实想保留记录。基本上这意味着我需要在数据库中执行UPDATE而不是DELETE操作。我找不到任何方法来覆盖delete(ID)方法的spring行为。部分代码:@Entity@Table(name="account")publicclassAccount{/*DefaultvalueforthisfieldisfalsebutwhenareceiveaDELETErequestfo