Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate条件-org.Hibernate.QueryException:无法解析属性:_Java_Hibernate_Orm_Criteria_Hibernate Mapping - Fatal编程技术网

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()
替换为
零件