hibernate如何实现无外键的多表关联

问题描述

两个表例如:student,coursestudent:sid,name,age,sex。course:cid,sid,cname,time。sid为student表中的sid想实现查询course表,并显示sid在student表的名字。selectc.cid,s.name,c.cname,c.timefromcoursec,studentswherec.cid=s.sid两个表各自把sid和cid做为主键,没有外键关联。这样的情况在hibernate里用hql该如何编写实现,是否需要特殊的配置呢?

解决方案

解决方案二:
hibernate的一对多关联

时间: 2024-09-09 02:21:14

hibernate如何实现无外键的多表关联的相关文章

系统学习hibernate之六:一对一外键关联映射双向关联

hibernate一对一唯一外键关联映射(双向关联Person<---->IdCard) 一对一唯一外键关联双向,需要在另一端(idcard),添加<one-to-one>标签,指示hibernate如何加载 其关联对象,默认根据主键加载person,外键关联映射中,因为两个实体采用的是person的外键维护的关系, 所以不能指定主键加载person,而要根据person的外键加载,所以采用如下映射方式: <one-to-one name="person"

shh-hibernat,有一个外键关系的表添加不了数据

问题描述 hibernat,有一个外键关系的表添加不了数据 添加数据的时候,会报错: 2015-02-09 21:47:03 1,,SQL Error: 1452, SQLState: 23000 org.hibernate.util.JDBCExceptionReporterorg.hibernate.util.JDBCExceptionReporter.logExceptions(JDBCExceptionReporter.java:100) 2015-02-09 21:47:03 1,,C

mvc怎么操作全是外键的数据库表

问题描述 mvc怎么操作全是外键的数据库表由于mvc不会自动生成全是外键的表的实体类,那运用mvc的linq查询怎么操作呢? 解决方案 解决方案二:mvc怎么会有linq查询??解决方案三:运用linq查询语句解决方案四:引用2楼u014479626的回复: 运用linq查询语句 使用join语句管理主表与外键表通过select语句来获取要显示的主表值或者外键表值.参见:解决方案五:linq现在最常用的操作是查询内存集合,还是很方便的,要是用于linqtosql或者linqtoef之类的,原理就

[20151231]主外键与空表.txt

[20151231]主外键与空表.txt --主外键的测试例子很多,今天做一个特别的,外部键表为空,也会出现阻塞吗?测试看看. 1.建立环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- -------------------------------------------------------

[20151231]主外键与空表(12c).txt

[20151231]主外键与空表(12c).txt --主外键的测试例子很多,今天做一个特别的,外部键表为空,也会出现阻塞吗?测试看看. 1.建立环境: SCOTT@test01p> @ver1 PORT_STRING                    VERSION        BANNER                                                                               CON_ID --------------

清空具有外键约束的表时报ERROR 1701(42000)的解决

清空具有外键约束的表时报ERROR 1701(42000)的解决 ERROR 1701 (42000): Cannot truncate a table referenced in a foreign keyconstraint (`furion`.`tbl_frn_alert`, CONSTRAINT `FK353A3CBEB139CC08`FOREIGN KEY (`endpt_id`) REFERENCES `furion`.`tbl_frn_endpt` (`id`)) 解决方法: my

系统学习hibernate之五:一对一外键关联

在hibernate中一对一外键关联跟多对一外键关联有很相似的地方, hibernate多对一外键关联先参考这个,然后只要是在*.hbm.xml里面加入以下代码: <many-to-one name="group" column="groupid" unique="true"/>, 就是加入unique="true"属性. 多对一外键关联中的*.hbm.xml里面加入以下代码:<many-to-one nam

关于C#,Java等数据库框架LazyLoad的在表无外键关系时替代方案问题讨论?

问题描述 对于数据库框架,包括现在的.net中的EF等数据库持久层框架,都提供了LazyLoad的机制,然而这个机制建立在表直接存存在主外键关系才可实现对于现行的市场境况,多数成功项目为了便于扩展,都不建立外键,使得LazyLoad的机制不能使用,那么在没有外键情况下能否实现类似于LazyLoad,在程序逻辑上建立关系,实现LazyLoad呢? 解决方案 解决方案二:按你的话说,"数据库框架,包括现在的.net中的EF等数据库持久层框架"如果不使用LazyLoad机制加载,而是一次性就

Oracle外键约束子表、父表

  CREATE TABLE employees( employee_id NUMBER(6), last_name VARCHAR2(25) NOT NULL, email VARCHAR2(25), salary NUMBER(8,2), commission_pct NUMBER(2,2), hire_date DATE NOT NULL, ... department_id NUMBER(4), CONSTRAINT emp_dept_fk FOREIGN KEY (department