- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两门课:
订单.java:
@Entity
@Table(name = "orders", catalog = "ownDB")
public class Order {
private int orderNO;
private String oderName;
private Set<Room> rooms = new HashSet<Room>(0);
public Order(int orderNo, String orderName, Set<Room> rooms) {
this.oderNo = orderNo;
this.orderName = orderName;
this.rooms = rooms;
}
@Id
@Column(name = "orderNO", unique = true, nullable = false, length = 6)
public int getOrderNO() {
return this.orderNO;
}
public void setOrderNo(int OrderNO) {
this.orderNO = orderNO;
}
@Column(name = "orderName", nullable = false, length = 100)
public String getOrderName() {
return this.orderName;
}
public void setOrderName(String orderName) {
this.orderName = orderName;
}
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "rooms_orders", joinColumns = { @JoinColumn(name = "orderNO") }, inverseJoinColumns = { @JoinColumn(name = "roomNO") })
public Set<Room> getRoom() {
return this.rooms;
}
public void setRoom(Set<Room> rooms) {
this.rooms = rooms;
}
}
这是 room.java:
@Entity
@Table(name = "rooms", catalog = "ownDB")
public class {
private int roomNO;
private String name;
private Set<Order> orders = new HashSet<Order>(0);
public Room(int roomNO, String name, Set<Order> orders) {
this.roomNO = roomNO;
this.name = name;
this.orders = orders;
}
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "roomNO", unique = true, nullable = false, length = 6)
public int getRoomNO() {
return this.roomNO;
}
public void setRoomNO(int roomNO) {
this.roomNO = roomNO;
}
@Column(name = "name", nullable = false, length = 100)
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "rooms_orders", joinColumns = { @JoinColumn(name = "roomNO") }, inverseJoinColumns = { @JoinColumn(name = "orderNO") })
public Set<Order> getOrders() {
return this.orders;
}
public void setOrders(Set<Order> orders) {
this.orders = orders;
}
}
SQL:
CREATE TABLE rooms (
roomNO int(6) NOT NULL ,
name VARCHAR(100) NOT NULL ,
PRIMARY KEY (roomNO));
CREATE TABLE orders (
orderNO int(6) NOT NULL AUTO_INCREMENT,
orderName VARCHAR(100) NOT NULL,
PRIMARY KEY (orderNO));
CREATE TABLE rooms_orders (
roomNO int(6) NOT NULL,
orderNO int (6) NOT NULL,
PRIMARY KEY (roomNO, orderNO));
这两个映射有什么问题?这对我有用。但如果方法不正确,我不想使用。如果我将 Order 类中的第二个映射更改为“@ManyToMany(mappedBy="room")”(没有 joinTable 注释)。我无法列出所有房间(及其订单),因为我收到此错误消息:
“无法延迟初始化角色集合:com.room.model.Room.orders,无法初始化代理 - 无 session ”
列出所有订单及其房间以及所有房间及其订单的正确方法是什么。所以我需要“双向”加入。
最佳答案
您发布的代码中有很多错误。
首先,您的连接表定义不正确。它不应该有一个单独的 ID 列:没有人会填充此列。它应该被定义为
CREATE TABLE rooms_orders (
roomNO int(6) NOT NULL,
orderNO int (6) NOT NULL,
PRIMARY KEY (rommNO, orderNO));
其次,你的映射是错误的。双向关联始终有一个所有者端(它定义关联的映射方式)和一个反向端(它使用mappedBy 属性告诉 JPA 这是反向端,以及在哪里可以找到所有者端)。因此,在 Room 中,关联应该映射为
@ManyToMany(mappedBy = "rooms")
public Set<Order> getOrders() {
return this.orders;
}
最后,您的关联映射与表中的列名称不匹配:
@JoinTable(name = "rooms_orders",
joinColumns = { @JoinColumn(name = "orderNO") },
inverseJoinColumns = { @JoinColumn(name = "roomNumber") })
表中没有“roomNumber”列。该列名为“roomNO”。
关于java - Hibernate:多对多映射: "Two-way",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26573444/
Sorry, the original image cannot be uploaded due to some security reasons. The following is a sch
如何使用 thymeleaf th:each 同时迭代两个列表。 room name 这是有效的,但我想做这样的事情
我有两个表存储成员数据 成员:id、field1、field2 和 field3... members_extra:memberId、someExtraField1 和 someExtraField2
我在 R 中有一个数据框,如下所示: Word Base Number Type - - - - shoe shoe 4834 si
我在 R 中有一个数据框,如下所示: Word Base Number Type - - - - shoe shoe 4834 si
我的场景是一个用户表和一个图片表。每个用户可以上传多张图片。每个用户都可以将自己的一张图片设置为自己最喜欢的图片,但这并不影响该图片位于该用户的图片集中。 事实证明,将其映射到 hibernate 是
最近,我一直在探索Python中的异或密码。我有两种“工作”方法: def XORcipher(plaintext, key): output = "" for character i
我对我用 C 编写的程序有疑问。我将在两列中并排写两个不同的字符串。我没有找到我的问题的明确答案,因为他们几乎总是给出长度或数量已知的数字示例。 我有两个字符串,最大长度为 1500 个字符,但对我来
我在 iPhone 应用程序中使用 CGContext 时遇到一些问题。我试图用不同的颜色绘制几条线,但所有线最终总是具有最后使用的颜色。我尝试了几种方法,但并不幸运。 我建立了一个小型示例项目来处理
我最近刚刚拿起 KO,想做类似以下的事情。 有两个输入,它们会互相改变。 HTML: 脚本: function DataViewModel() { var self = this;
我有一个 Excel Power Query,它可以从本质上是一个时间表 Web 应用程序导入并转换 CSV 数据传输文件,以便再次通过 CSV 导入到我们的薪资应用程序中。某些行在两个单独的字段中同
这个问题已经有答案了: Calculating the difference between two Java date instances (46 个回答) 已关闭 6 年前。 我想检查我的用户登录
这是一个新手问题。我有两个 javascript 和一个 html 文件。当我点击一个图像时,它会转到第一个 .js 文件,当它最终运行所有代码时,它应该转到第二个 .js 文件。但是如何连接不同文件
我有两个模型:Saft(杂志)和 Keyword。每个“Saft”都由一系列关键字定义,但也有一个标题,该标题始终是其关键字之一。 Saft 和关键字模型通过 HABTM 连接表连接,以便提取所有关键
我有以下模型: class AcademicRecord(models.Model): record_id = models.PositiveIntegerField(unique=True,
我想画一条穿过圆但被圆边界剪切的线。这是到目前为止我的代码, var elem = document.getElementById('draw-shapes'); var params = { wid
我正在研究 NodeJs,我的问题是: 进程A在计算机A上运行,进程B在计算机B上运行,现在我想向它们广播一条消息,我该如何实现? 最佳答案 您应该查看消息队列。 Redis具有发布/订阅功能,是常见
我想两两比较表中的行,只保留相似的匹配项。 import pandas as pd df = pd.DataFrame.from_items([('a', [0,1,1,0]), ('b', [0,0
正如标题所解释的,假设我有两个 ActiveRecord::Base 模型:SatStudentAnswer 和 ActStudentAnswer。 我有一个学生模型 has_many :act_st
假设我有两个列表:a=[1,2,3]b=[4,5,6]我想将它们写入一个文本文件,以便获得一个两列文本文件: 1 4 2 5 3 6 最佳答案 只需 zip 列表,并将它们写入 csv 文件,并以制表
我是一名优秀的程序员,十分优秀!