无法通过反射错误设置字段值

问题描述 投票:-2回答:1

我有一个类似以下的课程:

import lombok.Getter;
import lombok.Setter;
import org.framework.model.core.baseInfo.SubSystemType;

import javax.persistence.Entity;
import javax.persistence.PrimaryKeyJoinColumn;
import javax.persistence.Table;


@Entity
@Table(name = "CORE_POWER_TYPE_DOCUMENT")
@PrimaryKeyJoinColumn(name = "Base_Power_Type_Id")
@Getter
@Setter
public class StoragePowerType extends BasePowerType {

    @Override
    public SubSystemType getsystemType() {
        return SubSystemType.storing;
    }

}

和下面抛出的异常ID:

“ **** counld未通过反射设置字段值[org.model.core.power.type.StoragePowerType@203cb33d]值****”]

你知道是什么问题吗?

java getter-setter
1个回答
0
投票

BasePowerType内的某些属性很可能被声明为private,没有getter和setter。

JPA实体的每个属性必须为public或已定义方法get<PropertyName>()set<PropertyName>()。否则,您正在使用的框架(Hibernate?)将无法访问该属性。因此,请使用:

public Long id;

或:

private Long id;

public Long getId() { return id; }
public void setId(Long value) { id = value; }

尝试遵循here: Create the perfect JPA entity [closed] 中的准则。

© www.soinside.com 2019 - 2024. All rights reserved.