Java 在注释、实体类中映射时是否可以忽略某些字段
我正在使用Hibernate与MySQL进行映射 我有一个实体类,其中的方法映射到MySQL中的列 问题是,如果我可能不将该类中的某些方法映射到SQL中的任何列,就好像我试图不映射实体类中的某个方法一样,它会给出异常 下面是代码片段Java 在注释、实体类中映射时是否可以忽略某些字段,java,jpa,annotations,Java,Jpa,Annotations,我正在使用Hibernate与MySQL进行映射 我有一个实体类,其中的方法映射到MySQL中的列 问题是,如果我可能不将该类中的某些方法映射到SQL中的任何列,就好像我试图不映射实体类中的某个方法一样,它会给出异常 下面是代码片段 @Column(name="skills") public String getSkills() { return skills; } public int getRowCount() { return rowCount; } 在上面的代码中,我
@Column(name="skills")
public String getSkills() {
return skills;
}
public int getRowCount() {
return rowCount;
}
在上面的代码中,我在SQL中为getSkills分配了列技能,但我不想为MySQL中的任何列分配getRowCount()
我如何才能做到这一点(在上述情况下,其给出的异常,rowCount
未知)?使用注释:
此批注指定属性或字段不是持久的。它用于注释实体类、映射超类或可嵌入类的属性或字段
i、 e
感谢您的帮助,错误消失了,但我正试图通过其setter在rowCount中设置一些值,然后我尝试从getter public int getRowCount(){return rowCount;}中获取该值,就像我将其设置为4并保存在那里一样,但当我尝试获取rowCount时,它总是有0,有解决方案吗?thanks@user764446:要么让Hibernate管理,要么由您管理。如果它被标记为
@Transient
,则由您来管理该值。是的,我正在尝试自己管理它,但我没有得到我在那里设置的值,除了此方法之外,其他每个方法都会给我真正的值,因为其他方法与数据库中的列映射在列表字段上不起作用。对于集合类型字段,hibernate实际上创建了一个新的中间表。有解决办法吗?
@Column(name="skills")
public String getSkills() {
return skills;
}
@Transient
public int getRowCount() {
return rowCount;
}