- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我从这些简单的例子中学习,有 2 个表,USERS 和 USER_DETAILS,足够简单,每个用户都有 user_details 并且它是一对一的关系。所以这个样本是这样的,
@Entity
@Table(name = "USERS")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "USR_ID")
private long id;
@Column(name = "USERNAME", nullable = false, unique = true)
private String username;
@Column(name = "PASSWORD")
private String password;
@OneToOne(cascade = CascadeType.ALL, mappedBy = "user", fetch = FetchType.LAZY)
private UserDetail userDetail;
//Setter and getter methods
}
@Entity
@Table(name = "USER_DETAILS")
public class UserDetail {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "USR_DET_ID")
private long id;
@Column(name = "FIRST_NAME")
private String firstName;
@Column(name = "LAST_NAME")
private String lastName;
@Column(name = "EMAIL")
private String email;
@Column(name = "DBO")
private LocalDate dob;
@OneToOne(fetch=FetchType.LAZY)
@JoinColumn(name = "USR_ID")
private User user;
//Setter and Getter methods
}
如果您查看mappedBy,它位于User 而不是UserDetails 中。
Q1: so USER is the owner, if it calls save(),
USER_DETAILS table will be updated as well ?
Q2: same examples put mappedBy in the USER_DETAILS side,
why people want to do this ?
How to determine which side to put mappedBy ?
感谢您的帮助!
最佳答案
Q2:相同的示例将mappedBy放在USER_DETAILS一侧,为什么人们要这样做?如何确定将mappedBy放在哪一边?
In a bidirectional relationship, each entity has a relationship field or property that refers to the other entity. Through the relationship field or property, an entity class’s code can access its related object. If an entity has a related field, the entity is said to “know” about its related object.
您的示例中存在双向一对一关系。 User
和 UserDetail
实体都有一个关系字段。在两个实体上指定的 @OneToOne
注释。
For one-to-one bidirectional relationships, the owning side corresponds to the side that contains the corresponding foreign key.
关系的所有者是 UserDetail
实体。所有者有 @JoinColumn
注释来指定外键 (USR_ID
)。
关系的反面(User
)具有mappedBy
属性。
Q1:所以 USER 是所有者,如果它调用 save(),USER_DETAILS 表也会更新吗?
在您的示例中,UserDetail
是所有者。因此保存过程:
User user = new User(); // Ignoring the constructor parameters...
UserDetail userDetail = new UserDetail();
user.setUserDetail(userDetail);
userDetail.setUser(user);
userRepository.save(user);
您只需要保存父级。这也将拯救 child 。
关于Java hibernate 一对一: which side should be the owner,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55538328/
到目前为止,我能够允许用户编辑他自己的帖子,但每当我通过 if he's owner of the subreddit/category 条件时,它就会完全停止工作。 我有这3张 table User
到目前为止,我能够允许用户编辑他自己的帖子,但每当我通过 if he's owner of the subreddit/category 条件时,它就会完全停止工作。 我有这3张 table User
我正在通过一本书学习 Spring 和 Hibernate,并且有一个可选练习来使用 Hibernate 创建多对多关系。不幸的是,作者没有在 GitHub 上提供可选示例,我在调试一些我不熟悉的东西
在下面的类中,“owner”参数对 myClass 和基类做了什么? public class Base { public myClass(owner) : base (owner) { }
我有这个架构:(简化) class A { container c } class B { A* owner } 这些类位于不同的头文件中,对于这种架构,我必须包括: B.h in A
您可能已经注意到我们现在在社区 Wiki 帖子上显示编辑摘要: community wiki 220 revisions, 48 users 我还想显示“最拥有”页面上显示的最终内容的用户,作为剩余文
我想用测试所有者标记每个测试(或者可能只是每个文件)。当测试失败时,我想包含一个与所有者的打印声明。使用默认的 pytest 功能可以实现类似的功能吗?我想不出任何方法来判断测试是否失败,这是第一步。
我不了解 Airflow 中的“所有者”。 ower 的注释是“任务的所有者,建议使用 unix 用户名”。 我写了一些以下代码。 Default_args = { 'owner': 'max'
[on web] 尝试在 FittedBox 中放入一些小部件像这样 : FittedBox( fit: BoxFit.scaleDown, child: AnimatedContain
我的堆直方图告诉我我正在使用大量字符数组 ([C)、字节数组 ([B)、哈希节点和锁。 What tool will tell me who 'owns' these character arrays
在 XAML 窗口中隐藏此代码我错过了什么 //创建一个窗口并让这个窗口成为它的所有者窗口 ownedWindow = new Window();ownedWindow.Owner = this;ow
我认为以下伪代码很好地总结了我的问题...... class Owner { Bar b = new Bar(); dostuff(){...} } class Bar {
我正在尝试禁用除“neta”组成员之外的所有用户对 IP 1.2.3.4 的访问。这是我专门为此创建的一个新组。 iptables -I OUTPUT -o eth0 -p tcp -d 1.2.3.
数据库用户 一个 应该只能访问特定数据。 此数据目前由 View 提供B.VIEW1 从架构拥有的表中选择 乙 和 C . CREATE VIEW [B].[VIEW1] AS SELECT * FR
我正在查看this question我现在想知道,在组件构造函数中 nil 作为所有者是什么意思。 SomeComponent := TSomeComponent.Create(nil); 我知道,在
所以我从这些简单的例子中学习,有 2 个表,USERS 和 USER_DETAILS,足够简单,每个用户都有 user_details 并且它是一对一的关系。所以这个样本是这样的, @Entity @
我(正在尝试)开发一个Web应用程序系统,它处理用户请求和计算,并通过扩展Threads和Runtime.exec()(在Linux和/或Windows上)将它们传递到服务器上的(定制的)可执行文件)
我正在做并发问题作业。我有许多线程执行特定的操作,并且有一个方法决定这些线程何时可以访问资源。 所以我的类看起来像这样: public class Boss extends ReentrantLock
MSDN documentation状态: When a form is owned by another form, it is closed or hidden with the owner fo
我有以下场景:“电话”子表可以通过连接表为多个父表提供服务,如下所示: CREATE TABLE phone ( id BIGINT AUTO_INCREMENT, number VA
我是一名优秀的程序员,十分优秀!