Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/374.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映射:在现有数据库中为联接操作创建FK关系_Java_Mysql_Hibernate - Fatal编程技术网

Java Hibernate映射:在现有数据库中为联接操作创建FK关系

Java Hibernate映射:在现有数据库中为联接操作创建FK关系,java,mysql,hibernate,Java,Mysql,Hibernate,我有一个无法更改的现有数据库。有两个表,一个(A)带有PK,另一个(B)带有FK,指向第一个表的PK。各列分别命名为(A).page_id和(B).cl_from。 在Hibernate映射中,我可以设置第一个id,映射PK。我还可以为一对多关系设置一个包。 第二,我不需要id,而是多对一的关系。如何在没有id的情况下设置多对一关系?我不想在类中插入id。。 我试图设置一个复合键,但没有成功 // The PK class <class name="Words" table="PAGE"&

我有一个无法更改的现有数据库。有两个表,一个(A)带有PK,另一个(B)带有FK,指向第一个表的PK。各列分别命名为(A).page_id和(B).cl_from。 在Hibernate映射中,我可以设置第一个id,映射PK。我还可以为一对多关系设置一个包。 第二,我不需要id,而是多对一的关系。如何在没有id的情况下设置多对一关系?我不想在类中插入id。。 我试图设置一个复合键,但没有成功

// The PK class
<class name="Words" table="PAGE">
  <id name="id" column="PAGE_ID" />
  <property name="text" column="PAGE_TITLE" />  
  <bag cascade="all-delete-orphan" inverse="true" lazy="false" name="wordPages">
     <key column="PAGE_ID"/>
     <one-to-many class="CategoryItems"/>
  </bag>
</class>

// The FK class
<class name="CategoryItems" table="CATEGORYLINKS" >
  <composite-id> 
    <key-many-to-one name="id" column="CL_FROM" />
  </composite-id>
  <property name="text" column="CL_TO" />
</class>

我得到的最新错误是:
表CATEGORYLINKS中的关联引用了一个未映射的类:java.lang.Long

应该对以下代码有所帮助:

public class CategoryItems implements Serializable  
{
  private static final long serialVersionUID = 1L;
  private Words id;
  private String text;

  //getters-setters
}

它解决了当前的错误,但现在它是join所需的
路径![从单词作为W内部连接类别项作为I,其中I.text='myText']
。这以前也发生过,但我还没有用多种方法解决。。
public class CategoryItems implements Serializable  
{
  private static final long serialVersionUID = 1L;
  private Words id;
  private String text;

  //getters-setters
}