Hibernate如何一个类映射两个表

问题描述

昨天面试被问了一个hibernate的问题,一个User类有username,password属性,还有otherInformation等其他属性,username和password映射到一个表,otherInformation等其他属性映射到另一个表,使用User类时不会感觉到是两个表的的存在,如何配置User.mapping.xml文件进行配置??

解决方案

这叫“Table per subclass”:<class name="Base" table="表1"> <id name="id" type="long" column="BASE_ID"> <generator class="native"/> </id> <property name="username" column="username"/> <property name="password" column="password"/> ... <joined-subclass name="User" table="表2"> <key column="BASE_ID"/> <property name="otherInformation" column="otherInformation"/> ... </joined-subclass></class>表2的主键与父表表1的主键是一个一对一的关联。
解决方案二:
应该不行吧,否则进行映射的时候,没法区分到底指向那个数据表了、
解决方案三:
好像不能这么做
解决方案四:
应该是用subclass继承。

时间: 2024-08-03 22:06:16

Hibernate如何一个类映射两个表的相关文章

求教,一个页面两个表单第一个可以取值第二个就不行了

问题描述 求教,一个页面两个表单第一个可以取值第二个就不行了 第一个表单通过$("#xx").val可以取到 但是第二个取到的内容就是undefined 希望求解答 解决方案 选择器有问题,没有找到元素,检查是否存在选择器对应的元素

数据库两张表多对多关系为什么用中间表而不用相互外建

问题描述 数据库两张表多对多关系为什么用中间表而不用相互外建 数据库两张表多对多关系为什么用中间表而不用相互外建,菜鸟求指点 解决方案 如果用外键去做,你想想你的SQL语句查询会乱成什么样,还有就是查询结果a表包括b表的数据,b表包含a表的数据, 数据库一层一层查询下去可能出现死循环当机的,而通过外键,你每次查询都是一个对应两个表的两个list集合.而不是无穷无尽的查询 解决方案二: 不要光看着书在那空想,你试一下就知道想只用两个表来表达多对多关系根本是办不到的事情,除非你连范式都不要了.因为多

mysql数据库表里面有一个属性映射到另外两个表的主键,hibernate的配置文件如何写

问题描述 mysql数据库表里面有一个属性映射到另外两个表的主键,hibernate的配置文件如何写 就是说有一个反馈信息的表,里面有一个属性useridOrclubid 是映射到社团表主键clubid 和用户表主键userid 的.我应该怎么样配置hbm.xml文件 解决方案 http://stackoverflow.com/questions/4089539/hibernate-use-two-foreign-keys-for-different-coloumnshttp://stackov

hibernate查询两张表问题,求解答?

问题描述 hibernate查询两张表问题,求解答? 我有 user表 : 有name,age,等等 course表: coursename,score,teachername,user_ID(user主键) 现在我需要前台展示一个数据表 学生姓名 课程 分数 应该怎么实现啊?使用链表吗? ?? 解决方案 最好是在数据库把这几张表做一个视图,然后写一个model类对应这个视图,这样更简单方便点 解决方案二: 如果这2张表有关联的话,,hibernate会自动级联的,查user就会把course查

hibernate3-Hibernate3中,有两个表,从表主键名叫“zhujian” 有一个属性叫“id”

问题描述 Hibernate3中,有两个表,从表主键名叫"zhujian" 有一个属性叫"id" Hibernate3中,有两个表,从表主键名叫"zhujian" 有一个属性叫"id" 报错如下 七月 30 16:02:56 , 602 DEBUG ErrorCounter:68 - throwQueryException() : no errors 七月 30 16:02:56 , 602 DEBUG QueryTransl

建表-当我要查询的数据同时在两个表中时,是否应该再建一个新的表?

问题描述 当我要查询的数据同时在两个表中时,是否应该再建一个新的表? 我有一个收入表(表1),一个支出表(表2),然后这样的话就可以对它们进行操作,但是我现在想要查询一个月之内的收支记录,按时间先后排序,我该怎么做呢?我要再建一个表把表1,表2的数据插进去么?还是有别的办法? 解决方案 使用联表连接两个表将两个表的数据同时显示出来或者将两个表的数据查出来后放入到视图当中 解决方案二: 当我每查询一次(当表1,表2更新时)的时候都要先把数据放到视图当中,是不是应该用触发器啊? 解决方案三: 你可以

sqlserver-数据库方面的问题,两张表有一个关联表

问题描述 数据库方面的问题,两张表有一个关联表 怎么才能通过关联表的信息找到其他两张表的基本信息呢? 一个是学生的基本信息表(uid,uname...) 一个是课程的基本信息表(tid,tname,ttype) 一个是中间表,使用外键进行连接(id,uid,tid) 现在想通过中间表中的tid找到uname和tname,ttype,一条sql语句不太懂怎么写,谢谢各位啊 解决方案 select * from T_student s inner join T_MID m on s.uid=m.ui

更新表-sql 如何在建立一个存储过程时更新两张表的数据?

问题描述 sql 如何在建立一个存储过程时更新两张表的数据? create proc proc2 ( @OrderID int, @BookID varchar(20),--更新 orderInfo quantity:更新 orderSheet payment @BookStock int ) as update orderSheet set payment = b.newpay FROM orderInfo,orderSheet,(select (payment + price * @Book

sql语句-如何用SQL语句实现两张表(无关联)查询后,分别将各自的一个字段,插入一个新表。

问题描述 如何用SQL语句实现两张表(无关联)查询后,分别将各自的一个字段,插入一个新表. 有A.B.C三张表如下, 表 A 表B 学生ID(主键) 学生名称 课程ID(主键)| 课程名称 表 C 学生ID 课程ID (联合主键) 那么,通过SQL语句操作如何用学生姓名和课程名(只能获取学生姓名和课程名)将课程ID和学生ID插入到C表(C表中有课程ID和学生ID并且是联合主键),感激不尽. 解决方案 你可以定义2个变量,分别从表A表B用名称查询到ID.在表C的新增语句中使用这2个变量. 不过你这