我不知道我做得是否正确,但我正在创建一个应用程序,为高中毕业舞会分配门票,对于每个学生,我让学校放入ID中,因为所有学生在该学校都有一个唯一的ID,并作为密钥存储。但问题是,不同学校的两个学生可能有相同的ID,所以我打算将主密钥存储为学生ID和学校ID。这是我的学生实体类。
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@Table(name="students")
@IdClass(StudentIdentity.class)
public class Student {
@EmbeddedId
private StudentIdentity studentIdentity;
@Column(name= "first_name")
private String firstName;
@Column(name="last_name")
private String lastName;
private String status;
@Column(name="is_restricted")
private boolean isRestricted;
@Column(name="restricted_reason")
private String restrictedReason;
@Column(name="ticket_number")
private String ticketNumber;
}
@Data
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode
@Embeddable
public class StudentIdentity implements Serializable{
public StudentIdentity() {
}
private String studentId;
@OneToOne(fetch= FetchType.EAGER)
@JoinColumn(name="school_id", referencedColumnName="id")
private School school;
public School getSchool() {
return school;
}
public void setSchool(School school) {
this.school = school;
}
public String getStudentId() {
return studentId;
}
public void setStudentId(String studentId) {
this.studentId = studentId;
}
}
beanCreationException:创建类路径资源[org/springframework/boot/autoconfigure/orm/jpa/hibernatejpaconfiguration.class]中定义的名为“Entity ManagerFactory”的bean时出错:调用init方法失败;嵌套异常是org.hibernate.annotationexception:无法在用@idclass:com.promticket.entity.student注释的实体中找到属性(studentId,school)
加:
@Delegate
之前
@EmbeddedId
private StudentIdentity studentIdentity;
我第一次制作Spring靴。我使用的是Spring启动版本2.3.4。我也使用后格雷SQL。我想创建两个表:玩家和团队。球队应该有一个球员名单。 所以我创建了下面两个实体类: 和 您可能已经知道,Spring boot会自动创建表格。团队表没有球员列的问题。 这里怎么了?也许我不需要看到球队表中的球员栏?(这对我来说很奇怪……)有没有更好的方法来定义值列表或数组? 此外,我想了解:是否定义了玩家团
我正在尝试更新Firebase数据库中的quantity子值,每当尝试更新时,都会创建一个新的子值,而不是更新当前值。如屏幕截图所示,当它应该更新当前数量时,将生成一个数量为2的新UID。我不知道为什么会发生这种情况,有人能帮我吗。我附上了一张数据库结构的图片,
我想将此字符串 "١٢٣٤٥٦٧٨٩٠" 转换为阿拉伯数字:“1234567890”。为此,我使用了将其转换为: 控制台显示的是,而不是。 我做错了什么?这里有解决办法吗?
在我的buildconfig.groovy中,我有: 我试着用下面的命令来拉开序幕: publish-plugin--snapshot--repository=newsnapshot--stacktrace
我有一个异步方法,它调用另一个异步方法,但是,我希望它在单独的线程上并行运行: 事实上,这就是我正在努力做的。为什么我会收到编译器警告?task.run的语法不正确吗?