当前位置: 首页 > 知识库问答 >
问题:

在org.hibernate.mapping.table(mastertable)及其相关的超表和辅助表中找不到逻辑名称为:propertymasterfk的列

黄骏喆
2023-03-14

这个项目是spring boot用hibernate和mySql创建的,::Scenario::在一个公寓详细信息要存储在父表中,子表包含块、层、平的起始和结束编号。单击此处查看表单示例

我创建了2个表,这是我需要做关系父表与子表,在父表我给出

@OneTomany@JoinColumn(Name=“PropertyID”,ReferencedColumnName=“PropertyMasterFK”)私有列表BlockListPropSub;

此列需要与

@Entity
@Table(name="Property_Master")
public class EntPropertyMaster implements Serializable{

    private static final long serialVersionUID = 6162594257264775391L;
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="propertyid")
    private int property_id;

    @NotNull
    private String property_name;

    @NotNull
    private String address1;

    @NotNull
    @Column(columnDefinition="varchar(15) default'None'")
    private String address2;

    @NotNull
    private String city;

    @NotNull
    private String state;

    @NotNull
    private String country;

    @NotNull
    private int zipcode;

    @OneToMany(cascade=CascadeType.ALL)
    @JoinColumn(name="propertyid",referencedColumnName="propertymasterfk")
    private List<EntPropertySub> blockListPropSub;
}

这是子表EntPropertySub

@Entity
@Table(name="propertysub")
public class EntPropertySub implements Serializable {

    private static final long serialVersionUID = 810618405796553525L;
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="propertysubpk")
    private int propertySub_pk;

    @Column(name="propertymasterfk")
    private int propertymasterfk;

    @NotNull
    private String blockname;

    @NotNull
    private int floors;

    @NotNull
    private String flatstart;

    private String flatend;
}

执行时,错误显示无法映射集合com.vfraternity.process.entity.entPropertyMaster.BlockListPropSub

下面是竞争错误日志

共有1个答案

葛宪
2023-03-14

此更改将起作用...对于父表

@OneToMany(cascade=CascadeType.ALL)
    @JoinTable(name="propertysub",joinColumns=@JoinColumn(name="propertyid"),
    inverseJoinColumns=@JoinColumn(name="propertysubpk"))
    private List<EntPropertySub> blockListPropSub = new ArrayList<EntPropertySub>();

对于子表

@ManyToOne(cascade=CascadeType.ALL)     
private EntPropertyMaster propertymasterfk = new EntPropertyMaster();
 类似资料:
  • 问题内容: 我有5个表,每个表与下一个表有一对多的关系 。project_t-> project_level1_t-> project_level2_t-> project_level3_t-> project_level4_t 我想让用户hibernate这些表 和project_level1_t 和project_level2_t 这是存储库文件 和 和 但是当我运行我的应用程序时,出现此错误

  • 问题内容: 您好我的表格如下: 1- medical_company : account_entity* 表 account_entity_id 列上的medical_company_id 外键 (不是pk) *** 第1栏 专栏2 第三栏 2- account_entity : account_entity_id (pk) 第1栏 专栏2 第三栏 3 人同行: person_id (pk) 第1

  • 有两个表。酒店内的地址。我已经提到了OneTo很多关系。但是编译器抛出错误。 创建名为entityManagerFactory的bean时出错,该bean在类路径资源[org/springFramework/boot/autoconfiure/orm/jpa/HibernateJpaConfiguration.class]中定义:调用init方法失败;嵌套异常org.hibernate.Mappi

  • 我一直在用guice做一个项目。 我有一个抽象类,它有很多实现。为了使用正确的实现,我使用一个工厂,它接收参数,然后返回正确的实例。 演示代码 我想知道的是,如果我可以用替换工厂,直接注入的实现(请注意,它们应该使用辅助注入)? 谢谢你。

  • 问题内容: 在尝试使用Java应用程序中的Hibernate将某些值持久保存到表中时,我一直面临着这个奇怪的异常。然而,这种例外只发生在一个特定的表/实体中,而其余的表我都可以通过Hibernate进行Crud操作。 请在下面的Stacktrace中查找,让我知道这是否与Java代码有关,或者是否与数据库设计错误有关。 在此先感谢您的帮助 问题答案: 我遇到了同样的问题,至少在我的情况下,我能够深

  • 问题内容: 如何找到表的主键列名称和值?我尝试在SYSCAT表中查找,但是找不到任何内容。 问题答案: 这应该可以满足您在大型机上的需求: http://publibz.boulder.ibm.com/cgi- bin/bookmgr_OS390/BOOKS/DSNSQH11/E.8?DT=20010718164132 DB2 10 Z / OS: 功能: http://www.ibm.com/s