hibernate jpamodelgen创建断开的java类
我的实体类是:hibernate jpamodelgen创建断开的java类,java,hibernate,Java,Hibernate,我的实体类是: @Entity public class SomeEntity { @Id private String K101; public String getK101() { return K101; } public void setK101(String k101) { K101 = k101; } } Hibernate生成以下类: @Generated(value = "org.hi
@Entity
public class SomeEntity {
@Id
private String K101;
public String getK101() {
return K101;
}
public void setK101(String k101) {
K101 = k101;
}
}
Hibernate生成以下类:
@Generated(value = "org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor")
@StaticMetamodel(SomeEntity.class)
public abstract class SomeEntity_ {
public static volatile SingularAttribute<SomeEntity, String> K101;
public static final String K101 = "K101";
}
@Generated(value=“org.hibernate.jpamodelgen.jpametamodelenticyprocessor”)
@StaticMetamodel(SomeEntity.class)
公共抽象类SomeEntity\u{
公共静态属性K101;
公共静态最终字符串K101=“K101”;
}
无法编译生成的类,因为字段名K101重复。
它适用于hibernate版本5.2之前的版本,但从版本5.3开始就失败了。
一个完整的示例项目可以在上找到。
我做错了什么吗?顺便说一句,在Java中,我们不使用“SomeEntity”这样的名称,比如在C中。我们只是写了“某个实体”,你不把它改成这个吗
public void setK101(String k101){this.k101=k101;}
对字段名使用lowecase:@Id private String k101
SomeEntity\是由hibernate生成的类。这个名字不是我发明的。将“this.”添加到setter不会改变任何事情。顺便说一句,setter是由IntelliJ生成的。将字段名小写确实解决了这个问题,但在hibernate的5.2版之前并不需要这样做。如果字段名必须以小写字母开头,那么hibernate jpamodel是否应该检测并报告它,而不是生成中断的java代码?