java - 从 Spring Data JpaRepository 返回 @id 字段

标签 java json spring jpa

我继承了一个庞大的 Java 应用程序,并且在尝试解决它时遇到了很多问题。我有一个关于 Spring JpaRepository 的具体问题。请注意,我刚刚在 Spring 开始,还没有那么坚定。

我有一个带有 @RepositoryRestResource 注释的存储库。

@RepositoryRestResource
public interface GoodsReceiptRepository extends JpaRepository<GoodsReceipt, GoodsReceiptId> {

我也有@Entity:

@Entity
@Table(name = AvisoPosition.TABLE)
@IdClass(AvisoPositionId.class)
public class AvisoPosition implements Serializable {

@Entity
@Table(name = GoodsReceipt.TABLE)
@IdClass(GoodsReceiptId.class)
public class GoodsReceipt implements Serializable { 

带有 @Id 注释的任何字段都不会在 JSON 响应中返回:

@Id @Column(name = "LGNTCC")
private String accountingArea;

如何获取这些 ID 字段?

如果我删除@Id,我会得到我想要的东西,但我不敢这样做,因为我无法判断这会对应用程序产生什么影响。

干杯

最佳答案

您似乎正在使用 Spring Data Rest 您所看到的是它的默认行为。

您可以通过执行以下操作来自定义此行为:

import org.springframework.context.annotation.Configuration;
import org.springframework.data.rest.core.config.RepositoryRestConfiguration;
import org.springframework.data.rest.webmvc.config.RepositoryRestConfigurerAdapter;

@Configuration
public class RepositoryConfig extends RepositoryRestConfigurerAdapter {
    @Override
    public void configureRepositoryRestConfiguration(RepositoryRestConfiguration config) {
        config.exposeIdsFor(YourClassNameGoesHere.class);
    }
}

关于java - 从 Spring Data JpaRepository 返回 @id 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60820118/

相关文章:

java - 升级到 Spring Boot 2 时缺少 EnableOAuth2Sso 注释

java - SQLite JOIN 表与关系

java - 我不知道为什么输出会重复多次,也不知道如何格式化输出。

c# - JSON 回发到 c# webmethod 添加文字控制

javascript - 使用基于值的 javascript 更新 Json 对象

java - 读取RequestMapping注解值

java - 从java中的System.nanoTime()计算小时

Java 列表排列 stackoverflow

ruby-on-rails - Rails Carrier Wave 和 JQuery Uploader

hibernate - uniqueResult 静默失败