相关疑难解决方法(0)

Spring数据投影不工作

我想在我的项目中使用弹簧投影。我正在按照此网址http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#projections中提到的方式进行操作

interface NoAddresses {  
  String getFirstName(); 
  String getLastName();  
}
Run Code Online (Sandbox Code Playgroud)

唯一的区别是我的界面是公共的。并且与存储库不在同一包中。这是一个要求吗?

我仍然看到整个实体都被返回,而不仅仅是投影的列。

我有

<dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-jpa</artifactId>
        <version>1.10.2.RELEASE</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

不起作用。我需要添加一些依赖项才能使投影正常工作吗?我没有使用 spring-boot,而只是在我的项目中使用 spring-data,在 tomcat 服务器上运行。

谢谢查哈特

spring projection spring-data-jpa

6
推荐指数
0
解决办法
4135
查看次数

Spring Boot Jpa JPQL 选择除特定列之外的列

例如,我有两个具有OneToOne关联的实体。

@Entity
class Entity1(
    @Column val columnToSelect1: String,
    @Column val columnToSelect2: String,
    @Column val columnToSelect3: String,
    @Column val columnToSelect4: String,
    @Column val columnToSelect5: String,
    @Column val columnToSelect6: String,
    @Column val columnToSelect7: String,
    @Column val columnToSelect8: String,
    @Column val columnToSelect9: String,
    @Column val columnToSelect10: String,


    @OneToOne
    @JoinColumn
    val columnNotToSelect: Entity2
)
Run Code Online (Sandbox Code Playgroud)

而且,很多时候我想选择除特定列(例如val columnNotToSelect: Entity2.
那是因为选择Entity2将导致触发另一个并不总是需要的查询。

目前,我正在像这样实现该要求。

interface Entity1Getter {
    fun getColumnToSelect1(): String
    fun getColumnToSelect2(): String
    fun getColumnToSelect3(): String
    ...
}

interface Entity1CrudRepository : CrudRepository<Entity1, UUID> …
Run Code Online (Sandbox Code Playgroud)

spring jpa spring-data spring-data-jpa spring-boot

4
推荐指数
1
解决办法
7460
查看次数