gpt4 book ai didi

java - 在实体类中创建其他公共(public)方法

转载 作者:行者123 更新时间:2023-12-01 04:51:48 24 4
gpt4 key购买 nike

我有一个实体类

    @Entity
@Table(name = "rule")
public class Rule implements Cloneable, Serializable, IPojoGenEntity, IRule, SequencedEntity {

private String name;

private Service service;

//getter .. setter for service and name

public String getServiceName() {
return (this.service.getName());
}

public void setServiceName(String servicename) {
this.service.setName(servicename);
}

}

我通过 RulClass 对象获取服务名称时遇到异常

public String getServiceName() {
return (this.service.getName());
}

堆栈跟踪

Caused by: com.ibm.db2.jcc.b.SqlException: "RULE0_.SERVICENAME" is not valid in the context where it is used.
at com.ibm.db2.jcc.b.fg.e(fg.java:1596)
at com.ibm.db2.jcc.b.fg.a(fg.java:1206)
at com.ibm.db2.jcc.a.gb.g(gb.java:140)
at com.ibm.db2.jcc.a.gb.a(gb.java:39)
at com.ibm.db2.jcc.a.w.a(w.java:34)
at com.ibm.db2.jcc.a.vb.g(vb.java:139)

我们可以在实体类中使用这样的 getter 和 setter 吗?

我正在使用hibernate、spring、DB2、IBM WebSphere

最佳答案

如果您不想存储它,您应该将其设为@Transient,正如前面提到的那样

或者

定义@javax.persistence.Column(name = "service_id") getter 的字段注释,让 hibernate 知道要使用哪一列。

或者

重命名数据库以使服务字段“SERVICENAME”使用默认列名称

关于java - 在实体类中创建其他公共(public)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14827285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com