Java Hibernate条件-org.Hibernate.QueryException:无法解析属性:
我正在尝试使用条件从多对一关系映射字段中选择值。但出现错误Java Hibernate条件-org.Hibernate.QueryException:无法解析属性:,java,hibernate,orm,criteria,hibernate-mapping,Java,Hibernate,Orm,Criteria,Hibernate Mapping,我正在尝试使用条件从多对一关系映射字段中选择值。但出现错误org.hibernate.QueryException:无法解析属性:part\u id:。请查看我的pojo课程,并建议这里有什么问题 Criteria partCriteria = session.createCriteria(PartFeatureVersion.class); partCriteria.add(Restrictions.eq("part_id",part.getPart_id())); @Entity @Ta
org.hibernate.QueryException:无法解析属性:part\u id:
。请查看我的pojo课程,并建议这里有什么问题
Criteria partCriteria = session.createCriteria(PartFeatureVersion.class);
partCriteria.add(Restrictions.eq("part_id",part.getPart_id()));
@Entity
@Table(name="DBO.PART_FEATURE_VERSION")
public class PartFeatureVersion {
private Part part;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="part_id")
public Part getPart() {
return part;
}
@Entity
@Table(name="DBO.PART")
public class Part {
private String part_id;
private Set<PartFeatureVersion> partfeatureversion = new HashSet<PartFeatureVersion>(0);
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="PART_ID")
public String getPart_id() {
return part_id;
}
@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY,mappedBy="part")
public Set<PartFeatureVersion> getPartfeatureversion() {
return partfeatureversion;
}
Criteria partCriteria=session.createCriteria(PartFeatureVersion.class);
add(Restrictions.eq(“part_id”,part.getPart_id());
@实体
@表(name=“DBO.PART\u FEATURE\u VERSION”)
公共类PartFeatureVersion{
私人部分;
@manytone(fetch=FetchType.LAZY)
@JoinColumn(name=“part\u id”)
公共部分getPart(){
返回部分;
}
@实体
@表(name=“DBO.PART”)
公共课部分{
私有字符串部分id;
私有集partfeatureversion=新哈希集(0);
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
@列(name=“PART\u ID”)
公共字符串getPart_id(){
返回零件号;
}
@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY,mappedBy=“part”)
公共集getPartfeatureversion(){
返回零件特征版本;
}
如果在PartFeatureVersion pojo类中创建getter/setter,则其给出的错误为
org.hibernate.MappingException:实体:PART\u ID映射中的重复列(应使用insert=“false”update=“false”)映射)
更改以下代码:
partCriteria.add(Restrictions.eq("part_id",part.getPart_id()));
进入:
代码中的条件基于
PartFeatureVersion
类。您正在基于PartFeatureVersion.part\u id
属性限制条件。问题是PartFeatureVersion
类没有名为part\u id的属性更改以下代码:
partCriteria.add(Restrictions.eq("part_id",part.getPart_id()));
进入:
代码中的条件基于PartFeatureVersion
类。您正在基于PartFeatureVersion.part\u id
属性限制条件。问题是PartFeatureVersion
类没有名为part\u id
的属性。这发生在我身上
我通过在条件中使用时匹配sintax的大写和小写描述字段,并匹配DTO类中声明的fielname来修复它。这发生在我身上
我通过在条件中使用时匹配sintax的大写和小写描述字段,并匹配DTO类中声明的fielname来修复它。我对Hibernate不太熟悉,但它是否能够在没有设置映射字段的情况下执行此映射?我也不确定,但看起来应该有部分id
在@JoinColumn(name=“part\u id”)
的CAPS中,确保列的名称与它们在db中的名称完全匹配。我在@JoinColumn(name=“part\u id”)中尝试了part\u id作为CAPS,但效果不好。而且所有db名称都与pojo类匹配。在这里,pojo类中不会创建getter和setter,如果我创建pojo,则会出现错误“org.hibernate.MappingException:Repeated column in mapping for entity:“我对hibernate不是很熟悉,但是它能够在没有设置映射字段的情况下执行此映射吗?我也不确定,但它看起来有part\u id
对于@JoinColumn(name=“part\u id”)应该是大写的。”
确保列的名称与它们在db中的名称完全匹配。我在@JoinColumn(name=“part\u id”)中尝试了part\u id作为caps,但效果不好。此外,所有db名称都与pojo类匹配。这里的getter和setter不是在pojo类中创建的,如果我创建pojo,则其错误为“org.hibernate.MappingException:实体映射中的重复列:“我已更改了代码,但现在我收到错误,原因是org.hibernate.PropertyAccessException:IllegalArgumentException调用Part.Part\u id的getter时发生。是否忘记替换Part.getPart\u id()
转换为零件
?我已经更改了代码,但是现在我遇到了错误,原因是org.hibernate.PropertyAccessException:illegargumentexception调用part.part\u id的getter时发生。您是否忘记将零件.getPart\u id()
替换为零件
?