【发布时间】:2020-03-23 19:11:31
【问题描述】:
我继承了一个 MASSIVE 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 {
JSON 响应中不会返回带有 @Id 注释的任何字段:
@Id @Column(name = "LGNTCC")
private String accountingArea;
如何获取这些 ID 字段?
如果我删除@Id,我会得到我想要的,但我不敢这样做,因为我无法判断这会对应用程序产生什么影响。
干杯
【问题讨论】:
-
是的,绝对不要删除
@Id注释... JPA 需要知道什么定义了唯一记录 -
尝试在这些字段中添加
@JsonProperty( "id" )... -
老实说,这些可能应该已经转换为 DTO ... Spring 可能默认忽略正在序列化的 @id 字段?