//Hibernate--多对多
--学生表
create table Studentv(
id number primary key,
stuId varchar2(20) not null,
stuName varchar2(50) not null,
stuAge number not null
);
--课程表
create table Coursev(
id number primary key,
couId varchar2(20) not null,
couName varchar2(50) not null
);
--中间表
create table Stu_Couv(
sId number not null,
cId number not null
);
//课程表实体类
public class Coursev implements Serializable
{
private int id;
private String cId;
private String cName;
private Set<Studentv> stus = new HashSet<Studentv>();
//省略get(),set();
}
//学生实体类
public class Studentv implements Serializable
{
private int id;
private String sId;
private String sName;
private int sAge;
private Set<Coursev> cous = new HashSet<Coursev>();
//省略get(),set();
}
//Coursev.hbm.xml
<hibernate-mapping package="com.rt.xbliuc.pojo">
<class name="Coursev" table="Coursev">
<id name="id" column="id">
<generator class="assigned"/>
</id>
<property name="cId" column="couId"/>
<property name="cName" column="couName"/>
<set name="stus" table="Stu_Couv" lazy="true" cascade="all">
<key column="cId"/>
<many-to-many class="com.rt.xbliuc.pojo.Studentv" column="sId"/>
</set>
</class>
</hibernate-mapping>
//Studentv.hbm.xml
<hibernate-mapping package="com.rt.xbliuc.pojo">
<class name="Studentv" table="Studentv">
<id name="id" column="id">
<generator class="assigned"/>
</id>
<property name="sId" column="stuId"/>
<property name="sName" column="stuName"/>
<property name="sAge" column="stuAge"/>
<set name="cous" inverse="true" table="Stu_Couv" lazy="true" cascade="all">
<key column="sId"/>
<many-to-many class="com.rt.xbliuc.pojo.Coursev" column="cId"/>
</set>
</class>
</hibernate-mapping>
//测试类
Transaction transaction = session.beginTransaction();
HashSet<Studentv> cSet = new HashSet<Studentv>();
HashSet<Coursev> sSet = new HashSet<Coursev>();
Studentv s = new Studentv();
Coursev c = new Coursev();
s.setId(1);
s.setsId("s001");
s.setsName("sName");
s.setsAge(20);
c.setId(2);
c.setcId("c001");
c.setcName("cName");
cSet.add(s);
sSet.add(c);
c.setStus(cSet);
s.setCous(sSet);
session.save(s);
transaction.commit();
session.close();
分享到:
相关推荐
这样的模型在许多领域都有应用,如气象预报、股票市场分析、工程系统控制等,因为它能够捕捉输入变量间的复杂关系,并对多个响应变量进行联合预测。 MATLAB作为一种强大的数学计算和数据可视化工具,内置了神经网络...
在一个工程文件下面,我们可能会有很多的py文件(模块),文件太多,管理很不方便,这时候我们就可以创建一个包(package)对这些文件进行管理,把具有共同特征的文件放在同一个package里面,那该如何创建package,很简单...
《基于BP算法的多进制LDPC码在卫星导航中的应用》 在现代通信系统中,数据传输的可靠性至关重要,特别是...通过对给定的MATLAB代码进行仿真实验,我们可以深入理解多进制LDPC码的性能优势,并为实际系统设计提供参考。
以下是对这些知识点的详细解释: 1. **AutoIt3**: AutoIt 3 是 AutoIt 的第三个主要版本,是一个开源的脚本语言,设计用于编写简单的自动化脚本。它提供了丰富的函数库和简单易学的语法,使用户能够创建简单的 GUI...
标题中的“mp.rar_socket 多线程_tcp 多线程_tcp 线程_多线程 Socket_网络 扫描器”表明这是一个...通过理解和分析这个项目,开发者可以增强对网络编程、多线程以及TCP协议的理解,并掌握如何构建高效的网络扫描工具。
然后,线程内部可以使用某种π的近似公式,如格雷戈里-莱布尼茨级数,对各自负责的区间进行迭代计算,最后将所有线程的结果汇总,得到π的估计值。 多线程求π的过程中,还需要考虑线程安全问题。当多个线程同时...
在实际应用中,你可以根据需求对这个预训练模型进行微调,例如添加新的类别或者调整模型的参数。此外,对于资源有限的环境,如手机或嵌入式设备,MobileNetV3的轻量化设计使其成为理想的解决方案。 总结来说,"ssd_...
这个压缩包文件“BP_bp多输入_matlab神经网络_多输出预测_多输入多输出_BP多输出_源码.zip”显然包含了用MATLAB语言实现的BP神经网络模型,用于处理多输入和多输出的预测任务。 MATLAB作为一种强大的数值计算和可视...
在压缩包子文件的文件名称列表中,我们可以看到多个DLL文件,这些都是.NET框架下的动态链接库,用于提供特定的功能: 1. TD_Db_3.03_9.dll:可能包含数据库相关功能,用于存储和检索CAD数据。 2. TD_Mgd_3.03_9.dll...
在MMC中,多电平架构使得输出电压更接近正弦波形,降低了对电网的影响。 **3. 直流输电** 直流输电(DC Transmission)相较于传统的交流输电,具有更高的传输效率、更远的传输距离、更少的线路走廊需求以及更好的...
2. **`_wchar_t`**: 这是宽字符类型,用于处理Unicode编码,通常占用两个字节,可以表示更多的字符集,如UTF-16。在Windows平台上,`_wchar_t` 是等价于`wchar_t` 的类型,而在其他遵循C++标准的系统中,`wchar_t` ...
1. **多尺度信息处理**:通过使用不同大小的卷积核,Inception块可以同时捕获局部和全局信息,增强模型的泛化能力。 2. **降维操作**:为了减少计算量和参数数量,Inception V3引入了“瓶颈”结构,即先进行1x1卷积...
在IT领域,人脸识别是一项重要的技术,它广泛应用于安全监控、社交网络身份验证、智能门禁系统等多个场景。dlib库为开发者提供了一套强大的工具,其中就包括了针对人脸识别的ResNet网络模型——dlib_face_...
1. 配置转换序列:如果需要对多个通道进行转换,可以设置转换序列。 ```c ADC_ChannelConfTypeDef sConfig; sConfig.Channel = ADC_CHANNEL_0; sConfig.Rank = 1; sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES; ...
这个过程通常通过使用特定的标定板(如棋盘格)来完成,通过对多个不同角度拍摄的标定板图像进行分析,可以计算出这些参数。 在“handeye_movingcam_calibration_poses”中,“handeye”通常指的是机器人与相机之间...
其Better Life Index是一个多维度的生活质量框架,包括了健康、教育、就业、社会联系、环境质量等多个方面,其中人均GDP是衡量一个国家经济发展水平的关键指标之一。 描述中的重复信息进一步强调了这个数据集的核心...
《水底图像增强:多融合技术在Matlab中的应用》 水下图像处理是一门复杂的计算机视觉技术,其主要目标是改善由于水介质对光线传播的影响导致的图像质量下降。"Underwater_Image_Enhancement_Using_MultiFusion_...
不过,对于那些已经习惯旧版操作界面或对新功能需求不大的用户来说,老版本依然具有很高的实用价值。 Sim_EKB_Install_2014_11_09是该软件的安装文件,通常包含了运行和配置EKB所需的所有组件,包括主程序、数据库...
描述中的“Amlogic USB Burning Tool_v2.1.6.8.exe”是该USB烧录工具的具体软件版本,这是一个可执行文件(.exe),用户在Windows操作系统上运行此程序来对Amlogic设备进行固件升级。版本号2.1.6.8表明这是该工具的...
通过对不同类型的按键事件的支持,开发者可以轻松实现各种复杂的用户交互逻辑。这些接口的设计旨在简化开发过程,并确保软件能够高效地响应用户的输入操作。无论是简单的单击还是复杂的组合键操作,都能通过这些接口...