Java 使用Spring数据JPA持久化一对一关系不起作用
我正在使用下面的教程,通过Spring提供的RESTAPI访问数据库条目 现在我得到了以下实体类 产品Java 使用Spring数据JPA持久化一对一关系不起作用,java,spring,rest,jpa,Java,Spring,Rest,Jpa,我正在使用下面的教程,通过Spring提供的RESTAPI访问数据库条目 现在我得到了以下实体类 产品 @Entity @Table( name = "products" ) public class ProductsEntity implements Serializable { @OneToOne(fetch = FetchType.EAGER) //@JoinColumn(name="Units_id", insertable = false, updatable = false) @J
@Entity
@Table( name = "products" )
public class ProductsEntity implements Serializable {
@OneToOne(fetch = FetchType.EAGER)
//@JoinColumn(name="Units_id", insertable = false, updatable = false)
@JoinColumn(name="Units_id")
private UnitsEntity unitsEntity;
@Id
@GeneratedValue
@Column( name = "idproducts" )
private Long idProducts;
@Column(name = "productname" )
private String productName;
@Column (name = "Units_id")
private Long unitsid;
public ProductsEntity(){}
// Getter and setter
}
@Entity
@Table(name = "units")
public class UnitsEntity implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id")
private Long id;
@Column(name="unit")
private String unit;
@Column(name="units_id")
private Long units_id;
// Getter and Setter
}
单位
@Entity
@Table( name = "products" )
public class ProductsEntity implements Serializable {
@OneToOne(fetch = FetchType.EAGER)
//@JoinColumn(name="Units_id", insertable = false, updatable = false)
@JoinColumn(name="Units_id")
private UnitsEntity unitsEntity;
@Id
@GeneratedValue
@Column( name = "idproducts" )
private Long idProducts;
@Column(name = "productname" )
private String productName;
@Column (name = "Units_id")
private Long unitsid;
public ProductsEntity(){}
// Getter and setter
}
@Entity
@Table(name = "units")
public class UnitsEntity implements Serializable{
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id")
private Long id;
@Column(name="unit")
private String unit;
@Column(name="units_id")
private Long units_id;
// Getter and Setter
}
正如你所看到的,产品和单位之间是一对一的关系
现在我可以用正确的单位检索产品,但是我不能通过RESTAPI持久化它。它表示未找到合适的HttpMessageConverter,无法将请求正文读入class..db.entities.ProductSenty类型的对象,请求的内容类型为application/json代码>
我是否需要一个HttpMessageConverter
,或者我的类中是否存在错误或缺少的配置元素
**编辑:**
JSON请求如下所示(unitsEntity是一个现有实体):
但现在我得到了以下例外:
“无法读取JSON:(was java.lang.NullPointerException)(通过引用链:…db.entities.ProductsEntity[“unitsEntity”]);嵌套异常是com.fasterxml.jackson.databind.JsonMappingException:(was java.lang.NullPointerException)(通过引用链:…db.entities.ProductsEntity[“unitsEntity”])”
你知道这一点吗?是的,几天前我写了一个映射器,它将产品映射到具有原始数据类型的资源对象。