gpt4 book ai didi

java - hibernate 映射: creating FK relation in existing db for join operations

转载 作者:行者123 更新时间:2023-11-29 13:24:25 24 4
gpt4 key购买 nike

我有一个无法更改的现有数据库。有两个表,一个 (A) 带有 PK,另一个 (B) 带有指向第一个表的 PK 的 FK。相应的列被命名为 (A).page_id 和 (B).cl_from。在 Hibernate 映射中,我可以为第一个设置一个 id,映射 PK。我还可以为一对多关系设置一个包。对于第二个,我不需要 id,而是多对一的关系。没有id怎么设置多对一关系呢?我不想在类(class)中插入 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>

还有我的类(class):

 public class Words {

private Long id;
private String text;
private ArrayList wordPages;
// getters - setters

public class CategoryItems implements Serializable {

/**
*
*/
private static final long serialVersionUID = 1L;
private Long id;
private String text;

//getters-setters

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

最佳答案

应该有助于以下代码:

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

//getters-setters
}

关于java - hibernate 映射: creating FK relation in existing db for join operations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20349689/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com