草庐IT

accessing-data-jpa

全部标签

java - JPA/Hibernate 删除实体不工作

我正在使用Hibernate的JPA接口(interface),我编写了一些简单的代码来从数据库中加载一个实体,然后将其移除(删除)。我对插入和更新实体的所有合并调用都运行良好,但是当我尝试删除实体时,Hibernate不会将其从数据库中删除,也不会抛出任何异常。我在下面包含了相关代码:主要方法:/***Acceptaninvitethatwassenttoyou.**@paraminviteId*@returnXMLmodeloftheEventMember.*/@RequestMapping(value="/invites/accept.rest")publicModelAndVi

java - JPA:我应该将 BLOB 存储在与 fetch Lazy 相同的表中,还是应该将其存储到另一个表并 fetch lazy 一对一关系

我有一个表Image保存图像信息。我还想存储图像本身。我也应该1.将Blob存储在同一个图像表中,然后像下面这样延迟获取它@Basic(optional=false,fetch=FetchType.LAZY)@Lob@Column(name="IMAGE_BLOB",length=100000)//ThiswillgenerateMEDIUMBLOBprivatebyte[]imageBlob;或者2.创建另一个表ImageBlob,与Image具有OneToOne关系,并延迟获取关系@OneToOne(cascade=CascadeType.ALL,mappedBy="image",

java - JPA 查询语言中的 IN 和 = 运算符

我有一个关于jpa查询的问题。有两个表,即Post表和Tag表Post和Tag是多对多的关系现在我想编写一个查询,以便在选择多个标签时选择与这些标签关联的所有帖子。例如,post1hastagsfriendsandmotivationpost2hastagsmotivationandpunepost3hastagboxing如果选择了标签friends和pune,那么应该检索post1和post2如果选择标签装箱,则仅应检索帖子3如果选择标签装箱和动机,则应检索所有三个帖子。我尝试了以下事情SELECTDISTINCTpFROMPostpJOINp.tagstagsWHEREp.tag

java - 无法从 JPA 实体在 MySql 中生成枚举类型

我正在使用JPA2.1。我想生成像这样的mysql枚举类型列:genderenum('male','female')。我的枚举类是publicenumGender{MALE,FEMALE}在JPA实体类中@EnumeratedprivateGendergender;//generateinttypecolumn和@Enumerated(EnumType.STRING)privateGendergender;//generatevarchartypecolumn.有什么方法可以在MySql中生成枚举类型的列吗? 最佳答案 使用以下代码

java - Spring Data Elastic Search - 按距离对地理位置进行排序

给定一个地理定位点,我试图找到10公里以内的一些地点,并按离给定位置最近的地点对其进行排序。我设法返回了10公里以内的位置列表,但是当我尝试对其进行排序时,出现了异常:我正在使用以下版本:3.2.12.61.0.0.BUILD-SNAPSHOT3.2.5.RELEASEjava代码如下:publicListfindByGeoLocation(Doublelongitude,Doublelatitude,StringchannelKey,Stringdistance){if(StringUtils.isEmpty(distance)){distance=defaultRadius;}Ge

java - 带有 Spring Data REST 的不同 REST API 的多个调度程序 servlet 的 Spring Boot (JAR)

我有一个项目使用SpringBoot生成一个可执行JAR,该JAR公开了一个带有SpringDataREST的RESTAPI。它还与SpringSecurityOAuth集成。那很好用。我的问题如下,我想为RESTAPI使用不同的模块,仅当具有JPA存储库的相应JAR在类路径中(它已被定义为依赖项)时,我才想启用这些模块。问题是我希望它们彼此独立。我希望能够在具有不同映射的不同调度程序servlet下为它们提供服务,这样我就可以为每个指定不同的baseUri,并为资源发现设置不同的根URL。我会尽量让它更清楚:API模块A:一个JAR,例如包含资源X和Y的XRespository和YR

java - 如何在 Spring 中将 jpa 属性加载到数据源?

我正在使用SpringbootDataJPA,现在,我有这个:@Configuration@PropertySource("classpath:persistence.properties")@EnableTransactionManagementpublicclassPersistenceConfiguration{@AutowiredprivateEnvironmentenv;@BeanpublicLocalContainerEntityManagerFactoryBeanentityManagerFactory(EntityManagerFactoryBuilderbuilder

java - Spring Data REST - @PrePersist 和@HandleBeforeCreate 之间的区别?

我在JPA映射上使用SpringDataRest。JPA提供了@PrePersist注解,用于在数据库中实体持久化之前调用的方法。SpringDataRest为捕获实体创建事件时要调用的方法提供了@HandleBeforeCreate注解。这对我来说似乎相当。什么时候应该使用一个,什么时候应该使用另一个? 最佳答案 @HandleBeforeCreate仅在REST请求传入时调用,但在实体生命周期期间调用@PrePersist。因此,如果您的调用路径不是通过REST(例如通过直接调用实体管理器或由于JPAimpl的内部级联操作),您

java - Spring Data IN 子句添加额外的括号

我有一个带有“名称”列的“角色”表。我需要获取名称为“role1”或“role2”的所有角色。角色存储库方法如下所示:SetfindByNameIsIn(SetroleNames);我的数据库只包含“role1”。生成的请求如下所示:SELECTID,NAMEFROMROLEWHERE(NAMEIN((?,?)))bind=>[role1,role2]请注意参数周围的双括号。结果集为空。当我通过h2控制台手动尝试此查询时-也没有结果。以下查询有效:SELECTID,NAMEFROMROLEWHERE(NAMEIN('role1','role2'))我的集合恰好包含两个元素。应支持集合作

java - 结果集.next() : Does it fetch data from buffer OR from database?

我有下面这样的代码,try(Connectionconnection=this.getDataSource().getConnection();PreparedStatementstatement=connection.prepareStatement(sqlQuery);){try{statement.setFetchSize(10000);//SetfetchsizeresultSet=statement.executeQuery();while(true){resultSet.setFetchSize(10000);booleanmore=resultSet.next();if(