- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个简单的 hibernate OneToOne 程序。它包含一个 导师类(class)和讲师详情 类(class)。
OneToOne 映射定义为从 Instructor 到 InstructorDetail。我只是保存了一个 Instructor 类的对象(由于级联,它也应该保存 InstructorDetail 对象)。场景是:
object references an unsaved transient instance - save the transient instance before flushing: com.poc.entity.InstructorDetail
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;
import javax.persistence.Table;
@Entity
@Table(name="instructor")
public class Instructor {
@Id
@GeneratedValue(strategy= GenerationType.AUTO)
@Column(name="id")
private int id;
@Column(name="first_name")
private String firstName;
@Column(name="last_name")
private String lastName;
@OneToOne(cascade= {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.DETACH, CascadeType.REFRESH, CascadeType.REMOVE})
@JoinColumn(name="instructor_detail_id")
private InstructorDetail instructorDetail;
public Instructor() {
}
public Instructor(String firstName, String lastName) {
super();
this.firstName = firstName;
this.lastName = lastName;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public InstructorDetail getInstructorDetail() {
return instructorDetail;
}
public void setInstructorDetail(InstructorDetail instructorDetail) {
this.instructorDetail = instructorDetail;
}
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
@Entity
@Table(name="instructor_detail")
public class InstructorDetail {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id")
private int id;
@Column(name="youtube_channel", length=40)
private String youtubeChannel;
@Column(name="hobby", length=20)
private String hobby;
public InstructorDetail() {
}
public InstructorDetail(String youtubeChannel, String hobby) {
super();
this.youtubeChannel = youtubeChannel;
this.hobby = hobby;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getYoutubeChannel() {
return youtubeChannel;
}
public void setYoutubeChannel(String youtubeChannel) {
this.youtubeChannel = youtubeChannel;
}
public String getHobby() {
return hobby;
}
public void setHobby(String hobby) {
this.hobby = hobby;
}
}
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import com.poc.entity.Instructor;
import com.poc.entity.InstructorDetail;
public class OneToOneDemo {
private static SessionFactory sessionFactory;
static {
sessionFactory = new Configuration().configure("hibernate.cfg.xml")
.addAnnotatedClass(Instructor.class)
.addAnnotatedClass(InstructorDetail.class)
.buildSessionFactory();
}
public static void main(String...s) {
InstructorDetail instructorDetail = new InstructorDetail("xyz/youtube.com","cooking");
Instructor instructor = new Instructor("Bhupesh","Nimje");
try {
instructor.setInstructorDetail(instructorDetail);
save(instructor);
}
finally {
sessionFactory.close();
}
}
public static void save(Instructor instructor) {
Session session = null;
try {
session = sessionFactory.openSession();
session.beginTransaction();
session.save(instructor);
session.getTransaction().commit();
}
catch(Exception e) {
e.printStackTrace();
}
finally {
session.close();
}
}
最佳答案
最后我能够破解它。我们使用的 CascadeType 枚举是 javax.persistence 包。 session.save()
另一方面,方法是原始的 Hibernate 方法,不符合 JPA 规范,因此存在这种不一致。然而,如果我们使用 session.persist() 方法做同样的事情,它会像魅力一样工作。
关于java - hibernate :CasecadeType.ALL vs {CascadeType.PERSIST, CascadeType.MERGE, CascadeType.DETACH, CascadeType.REFRESH, CascadeType.REMOVE},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47666767/
谷歌搜索后,此选项的精度极低, 具体来说,我想知道什么是“分离键”,什么是“分离容器的键序列”, 任何提示都会很棒, 谢谢 最佳答案 你好吗?正如这里所解释的:Docker Attach Docume
实体类: public class CustomerSurvey implements Serializable { @Id @GeneratedValue(strategy=GenerationTy
我正在经历这个例子 - https://github.com/pytorch/examples/blob/master/dcgan/main.py我有一个基本问题。 fake = netG(noise
我正在使用 JQuery 1.5 和以下代码在单击按钮时分离带有特定类的 li 元素。我想知道的是,当再次单击该按钮时,如何将元素添加回页面? $("#remove").click(
clone() 与 detach() 对比 Torch 为了提高速度,向量或是矩阵的赋值是指向同一内存的,这不同于 Matlab。如果需要保存旧的tensor即需要开辟新的存储地址而不是引用,可以
import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends Stateles
我已经分离了一个 div,并希望在单击按钮时重新附加它。 代码如下: $('#wrapper').detach(); $("#open_menu").click(function(){ ATT
加载页面中的所有脚本后,我可以安全地调用 $('script').detach(); 从 DOM 中删除脚本吗? 注意:它相当于 Array.from(document.getElementsByTa
我正在尝试修改旧版 Delphi 5 应用程序,以便可以从其图标/通过资源管理器或从控制台(命令行)启动它。当它从控制台启动时,我希望程序将自身与控制台进程分离,以便控制台可以继续执行其他指令,而无需
我正在使用 jQuery 1.3.2,目前我还不能指望升级。考虑一下在 1.4.2 中运行的代码: var some_elem = $('#some_element'); var other_elem
我有这样的东西: //html Action 1 Action 1 Action 1 ...
void helloFiber(boost::fibers::future &f) { cout pm; boost::fibers::future ft = pm.get_futu
我正在尝试使用“ref”属性从树中删除元素
对于Decorator设计模式,GoF明确指出: With decorators, responsibilities can be added and removed at run-time simp
我有一个函数 f,我想在一个单独的进程中生成它,该进程的生命周期应该独立于其父进程。执行此操作的最佳方法是什么? 我还没有找到一种使用 multiprocessing.Process(target=f
在我正在处理的这个模块中,我有一个监听窗口中的“调整大小”事件的监听器。每次运行模块时,我都需要检查是否已经有一个监听器注册到该事件并将其分离,以避免不必要的行为、内存泄漏等。 到目前为止一切顺利,但
我在我认为是我的分支的地方做了几十次提交,然后检查了另一个分支。 愿意回到我最初的分支,我没有找到我更新的代码。在控制台查看我的历史记录后,我了解到我在一个独立的分支机构工作...... 是否有可能以
在 Laravel 文档中,我发现 detach() 方法可以分离多对多关系中的所有对象。 Laravel 中的 detach() 方法也可以应用于一对多关系吗?如果没有,在这种情况下如何分离所有 n
我有: class _PageState extends State with WidgetsBindingObserver { @override void initState() {
我的应用程序使用一个在应用程序生命周期中存在的上下文实例。我使用 Entity Framework 来读取和写入所有数据到数据库。添加对象后,我希望它们被垃圾收集器清理,这样它们就不会保留在内存中。我
我是一名优秀的程序员,十分优秀!