我继承了一个庞大的 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/