hibernate 一张表的两个外键引用同一个主键 怎样配置被引用的类

问题描述

一张表是代表借书相关信息的,另一张表是代表管理员信息的,其中借书表有两个字段引用管理员表的主键id。借书表对应domian类里有两个属性:private Manager manager;private Manager back_manager;借书domain配置文件里相关配置:<many-to-one name="manager" column="mana_id" /><many-to-one name="back_manager" column="backmana_id" />管理员表对应domain类里有属性:private Set<Borrow> borrows;请问如何配置管理员的domain配置文件?这样写不行:<set name="borrows"> <key column="mana_id"/> <one-to-many class="Borrow"/></set><set name="borrows"> <key column="backmana_id"/> <one-to-many class="Borrow"/></set>报错Duplicate collection role mapping com.bankht.web.domain.Manager.borrows

解决方案

<set name="borrows"> <key column="mana_id"/> <one-to-many class="Borrow"/> </set> <set name="borrows"> <key column="backmana_id"/> <one-to-many class="Borrow"/> </set>这俩set名字都一样,所以不行。domian类有俩管理员,管理员就得有俩set,名字当然不能一样

时间: 2024-07-29 22:31:53

hibernate 一张表的两个外键引用同一个主键 怎样配置被引用的类的相关文章

一张表两个主键 在另外一张表中怎么用外键引用它?

问题描述 一张表两个主键 在另外一张表中怎么用外键引用它? 一张表两个主键 在另外一张表中怎么用外键引用它? 麻烦帮忙解决一下. 非常感谢. 解决方案 首先申明一点,一张表没有两个主键,你说的那种情况属于联合主键.对于你说的这种情况,直接将这个联合主键的两个字段添加到另一张表中作为外键就可以. 解决方案二: Create table BorrowBook( StuNo int, BookID int, BorrowDate datetime, ReturnDate datetime, CONST

oracle中如何判断本表有多少张表对其有外键关联

在oracle中如何判断本表有多少张表对其有外键关联?我们主要分为两步: 第一步:        //查询表的主键约束名 select * from user_constraints e where e.table_name='' -----此处输入表名 第二步:        //查询所有引用到该主键的记录 select b.table_name,b.column_name from user_constraints a inner join user_cons_columns b on a.

查询一张表中两个字段重复的数据并得到其主键?

问题描述 希望各位路过的大侠 帮小弟一把.感激不尽. 如何查询一张表中两个字段都重复的数据以及每组中的第一条数据的主键? 情况如下: A表: a1 a2 a3  a4   都列a1     a2            a3                  a41       m              n                   o2       m              n                   k3       j                k     

向各位大神请教在我通过外键id查找主键表内容时出现不能转换的问题怎么解决

问题描述 向各位大神请教在我通过外键id查找主键表内容时出现不能转换的问题怎么解决 解决方案 先上代码 拿出来再看什么情况 解决方案二: 猜测是类转换异常造成的 解决方案三: 其实是我dao中的id和映射表中的id有大小写的区别.

mybatis数据表(mysql)的主键非自增长,如何插入数据(需插入主键)实现主键自增长?

问题描述 mybatis数据表(mysql)的主键非自增长,如何插入数据(需插入主键)实现主键自增长? 举例来说就是有表person,person有id(mysql数据库,主键,非自增),和name,pswd三个字段.如果是自增的情况,我们通常是这样处理 insert into person(name,pswd) values(#{name},#{pswd}) 这种情况不许要插入主键,因为person表主键是自增长的.但如果主键不是增长的情况呢?如何处理.主键不是自增长就应该必须插入主键. 在步

jpa 外键做联合主键-JPA 外键做联合主键 报错

问题描述 JPA 外键做联合主键 报错 get.set方法hashCode.equals都有 在Valuator报错 Persistent type of override attribute "pk.pjcontype" cannot be resolved Pjrelation.java 在Pjrelation中报错 In attribute 'pjrelation', the "mapped by" value 'pk.valuator' cannot be

新手急求hibernate中的表有两字段生成的po的增删改查。

问题描述 我刚接触hebernate,有一个有两个列的复合主键,这个表生成了po,能用hibernate提供的方法进行增删改查吗?需要做哪些修改?希望各位大侠能回答我.小妹这厢有礼了. 解决方案 解决方案二:是可以的.这个是我搜索出来的一篇文章可以帮你解惑http://www.blogjava.net/alex/archive/2006/11/09/80231.html

MySQL 创建主键,外键和复合主键的语句_Mysql

1.创建主键语法 ALTER TABLE table_name ADD CONSTRAINT pk_name PRIMARY KEY(列名); 2.创建外键语法 ALTER TABLE news_info[子表名] ADD CONSTRAINT FK_news_info_news_type[约束名] FOREIGN KEY (info_id)[子表列] REFERENCES news_type[主表名] (id)[主表列] ; 3.使用组合主键 如果一列不能唯一区分一个表里的记录时,可以考虑多个

MYSQL建表语法(主键,外键,联合主键)

在看<Learning SQL>第二版, 慢慢打实SQL的基础. 建表一: CREATE TABLE person (person_id SMALLINT UNSIGNED, fname VARCHAR(20), lname VARCHAR(20), gender ENUM('M', 'F'), birth_date DATE, street VARCHAR(30), city VARCHAR(20), state VARCHAR(20), country VARCHAR(20), posta