- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有人可以帮我解决这个问题吗?
我试图在系统中一次保存一个学生的记录,并将其保存到数据库中的不同表中,但在保存时出现错误。
涉及4个类,即Personalinfo.java(父类), Student.java(子类扩展 Personalinfo.java)、Students_Credentials.java(链接到 Student.java)和 ManageStudent.class(包含保存学生记录的方法)
代码如下:
PersonalInfo.java
//PersonalInfo.java
@Entity
@Table(name="personal_info")
@Inheritance(strategy=InheritanceType.JOINED)
public class Personalinfo {
@Id
@GeneratedValue
@Column(name="personalid")
private long personalUID;
@Column(name="lastname")
private String lastname;
@Column(name="firstname")
private String firstname;
@Column(name="middlename")
private String middlename;
@Column(name="Suffix")
private String suffix;
@Column(name="gender")
private String gender;
@Column(name="homeaddress")
private String homeaddress;
@Column(name="birthdate")
private String birthdate;
@Column(name="bloodtype")
private String bloodtype;
@Column(name="contactno")
private String contactno;
@Column(name="email")
private String email;
@Column(name="cplastname")
private String cplastname;
@Column(name="cpfirstname")
private String cpfirstname;
@Column(name="cpmiddlename")
private String cpmiddlename;
@Column(name="cphomeaddress")
private String cphomeaddress;
@Column(name="cpcontactno")
private String cpcontactno;
@Column(name="photo")
private Blob photo;
@Column(name="note")
private String note;
//(Netbeans)Automated Get & Set Method..
}
Student.java
//Student.java
@Entity
@Table(name="student")
@PrimaryKeyJoinColumn(name="personalid")
public class Student extends Personalinfo {
@Column(name="studentidno",unique=true,nullable=false)
private String stud_id;
@Column(name="gradeschool")
private String grade_school;
@Column(name="gs_aygraduated")
private String gs_ay_graduated;
@Column(name="highschool")
private String high_school;
@Column(name="hs_aygraduated")
private String hs_ay_graduated;
@Column(name="college")
private String College;
@Column(name="c_aygraduated")
private String c_ay_graduated;
//(Netbeans)Automated Get & Set Method..
}
Students_Credentials.java
@Entity
@Table(name="students_credentials")
public class Students_Credentials {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="studentscredentialsid",unique=true,nullable=false)
private long stud_credentials_id;
@Column(name="credentialsnamesubmitted")
private String credentials_name_submitted;
@ManyToOne(optional = false)
@JoinColumn(name="studentidno")
private Student Student;
//(Netbeans)Automated Get & Set Method..
}
ManageStudent.java
public static void addStudent(String Lastname,String Firstname,String Middlename,String Suffix,String ContactNo.......)
{
Session session = NewHibernateUtil.getSessionFactory().openSession();
Transaction tx = null;
try
{
//***personal_info table(Parent Class) and student table(Student Class extends Personal_info Class) ***
tx = session.beginTransaction();
Student stud=new Student();
stud.setLastname(Lastname);
stud.setFirstname(Firstname);
stud.setMiddlename(Middlename);
stud.setSuffix(Suffix);
stud.setGender(Gender);
stud.setGender(Gender);
stud.setHomeaddress(HomeAddress);
stud.setBirthdate(Birthdate);
stud.setContactno(ContactNo);
stud.setEmail(Email);
stud.setCplastname(CPLastname);
stud.setCpfirstname(CPFirstname);
stud.setCpmiddlename(CPMiddlename);
stud.setCphomeaddress(CPHomeAddress);
stud.setCpcontactno(CPContactNo);
stud.setPhoto(Photo);
stud.setNote(Note);
stud.setStud_id(IDno);
stud.setGrade_school(GradeSchool);
stud.setGs_ay_graduated(GSAYGraduated);
stud.setHigh_school(HighSchool);
stud.setHs_ay_graduated(HSAYGraduated);
stud.setCollege(College);
stud.setC_ay_graduated(CollAYGraduated);
//***students_credentials table(Students_Credentials class)***
Students_Credentials Stud_Cred0=new Students_Credentials("Form 138");
Students_Credentials Stud_Cred1=new Students_Credentials("NSO");
Students_Credentials Stud_Cred2=new Students_Credentials("HD");
Stud_Cred0.setStudent(stud);
Stud_Cred1.setStudent(stud);
Stud_Cred2.setStudent(stud);
session.persist(stud);
session.persist(Stud_Cred0);
session.persist(Stud_Cred1);
session.persist(Stud_Cred2);
tx.commit();
}
catch (HibernateException e)
{
if (tx != null) {
tx.rollback();
}
e.printStackTrace();
}
finally
{
session.close();
}
}
最佳答案
这对于评论来说太长了,我想格式化一些代码。这不是完整的答案,这是我对如何解决这个问题的猜测。
导致您的错误的原因是 Hibernate 正在尝试保存 StudentCredentials 对象,而它所附加的 Student 对象上也没有 id。该 ID 不存在,或者由于某种原因与学生对象上的 ID 不匹配。
我自己从未管理过 Hibernate 事务和 session 。我一直在 Spring 中使用 Hibernate,它为我管理事务。
如果我必须猜测(我强调,这是一个完整的猜测),我会说你必须执行以下操作。
create Student
save student
commit **this should put a generated id on the student record**
set Student on Student_Credentials objects
save Student Credentials objects
请注意,如果您单独使用 Hibernate,那么这就是您的决定,但是如果您可以选择将 Hibernate 与 Spring 之类的集成,以便为您管理所有细节和样板文件,那么您通常会这样做你的生活更轻松。
关于java - 无法添加或更新子行: a foreign key constraint fails using Hibernate Framework,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47026913/
我正在查看 SQL Server 2008 的 AdventureWorks 示例数据库,我在他们的创建脚本中看到他们倾向于使用以下内容: ALTER TABLE [Production].[Prod
我目前正在使用 PostgreSQL 9.5,想知道是否有可能在 ON CONFLICT ON CONSTRAINT 语句中包含 2 个约束的名称。我的sql如下 INSERT INTO LIVE.T
使用 htmlhelpers 可以限制你的助手将绑定(bind)到什么类型 public static HtmlString DatePicker(this HtmlHelper html,
我使用的是 Symfony 2.5,我的 Model 类如下: /** * @UserAssert\UserPasswordReset */ class ResetPassword { /** *
我有 3 个 View :A、B、C。 (A 和 B 的高度相等)开始时 B 的可见性消失,C 的顶部约束是 A 的底部,因此 C 出现在 A 下方。一段时间后,我将 A 的可见性更改为消失,将 B
在 Dojo NumberTextBox 的文档中,措辞引用了“Dojo 约束语言”,甚至包括有用的 link .不幸的是,链接指向的页面仅显示 this document has been depr
在我的表中,我有一个唯一的约束。在 hibernate 中,当我添加一个违反该约束的项目时,我想捕获它,因此它将更新而不是创建一个项目。 当我没有设置 try-catch block 时 up
我正在尝试在“或”UILabel 附近添加两条 1 像素线(由 UIViews 组成)。 除了我从 Interface Builder 中的第一张图片收到警告外,一切看起来都很好并且按预期工作: Le
我已经开始学习安卓了。我正在尝试使用 Google Map API。每次我尝试启动我的应用程序时,它都会崩溃,经过调查,我在 build.gradle 文件中发现了一个通知。 Please refer
我有自定义约束: @Target({FIELD, METHOD}) @Retention(RetentionPolicy.RUNTIME) @ConstraintComposition(Composi
我正在将 Graphql 服务器与 Prisma 一起使用。但是当我尝试运行代码时出现此错误我正在使用 const { GraphQLServer } = require('graphql-yoga'
更新到 com.android.support.constraint:constraint-layout:1.1.0 之后 约束布局崩溃说: All children of constraint la
我在 Xcode 10 中工作,在尝试向我的 View 添加一些非常简单的约束时遇到了一些错误。 我有一个 UICollectionViewCell,我正在向其添加一个 UIStackView。我调整
尝试在 Laravel 上创建一个待办事项列表应用程序,但是当我尝试单击按钮创建一个新的待办事项列表时,出现此错误: SQLSTATE[23000]: Integrity constraint vio
我正在编写一个基于网格的 View ,使用以下代码动态添加 NSLayoutConstraints for (x, column) in enumerate(board) { for (y,
我正在尝试使用 Constraint composition并希望为每个复合约束定义组,如下例所示:- 复合约束 @Target({ ElementType.FIELD, Elemen
我有一些添加了外键约束的表。它们与代码生成一起使用,以在生成的存储过程中设置特定的联接。 是否可以通过在事务中调用多个删除来覆盖这些约束,特别是 C# 中的“TransactionScope”,或者绝
我需要向现有 SQL Server 表添加约束,但前提是该表尚不存在。 我使用以下 SQL 创建约束。 ALTER TABLE [Foo] ADD CONSTRAINT [FK_Foo_Bar] FO
这是我的总输出: Executing SQL script in server ERROR: Error 1215: Cannot add foreign key constraint CREATE
我正在增加 Facebook SDK 登录按钮 (FBSDKLoginButton) 的大小。 Facebook SDK 源代码向 FBSDKLoginButton 添加了一个约束,height =
我是一名优秀的程序员,十分优秀!