一、异常原因
假设有两个实体类,描述的是数据库中同一张表中的部分内容。即表中的部分字段以类的形式存在于另一个实体类中,而我实体类中的get方法忘记重写了
因此,我本次PersistenceException异常的本质实际上是一个NullPointerException
二、情景再现
1. SQL:
DROP TABLE IF EXISTS pms_product;
CREATE TABLE pms_product (
product_id BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT '商品编号',
price INT(11) DEFAULT 0 COMMENT '商品价格',
sub_title VARCHAR(128) DEFAULT '' COMMENT '副标题',
product_description VARCHAR(255) DEFAULT '' COMMENT '商品描述',
PRIMARY KEY (product_id)
) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=UTF8MB4 COMMENT = '商品信息表';
2.1. pojo —— ProductContentVo
public class ProductContentVo implements Serializable {
private static final long serialVersionUID = 1L;
/** 副标题 */
private String subTitle;
/** 商品描述 */
private String productDescription;
public String getSubTitle() {
return subTitle; }
public void setSubTitle(String subTitle) {
this.subTitle = subTitle; }
public String getProductDescription() {
return productDescription; }
public void setProductDescription(String productDescription) {
this.productDescription = productDescription; }
}
2.2. pojo —— Product