我们正在使用spring-boot. 我想在 java 类中添加基于条件的约束。例如
@Entity
public class User {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name = "user_id")
private Integer userId;
@Column(name = "firstName")
private String firstName;
@Column(name = "lastName")
private String lastName;
}
Run Code Online (Sandbox Code Playgroud)
现在在上面的代码中@NotNull,lastName当且仅当firstName属性不为空时,我想对属性施加约束。
我的代码如下。我正在使用带有jpa和postgresql数据库的spring boot,我需要用户友好的名称作为外键。
@实体
@Table(name =“ course_table”)
公共课程课程扩展了BaseAuditingEntity {
@ManyToMany(级联= CascadeType.REMOVE,提取= FetchType.EAGER)
@JoinTable(name =“ course_program_table”,joinColumns = @JoinColumn(name =“ course_id”,referencedColumnName =“ course_id”,foreignKey = @ForeignKey(name =“ fk_program_id”)),inverseJoinColumns = @JoinColumn(name =“ program_id”, referencedColumnName =“ program_id”,foreignKey = @ForeignKey(name =“ fk_course_id”)))
私人名单计划;
}
我已经使用@ForeignKey批注指定了外键的名称,但是当我看到db时,它显示了随机创建的外键名称。
创建表course_program_table
(
course_id整数NOT NULL,
program_id整数NOT NULL,
约束fk_28c95hl4nqclyvyxuduei5nbf外键(program_id)
参考public.program_table(program_id)匹配简单
无需更新时
删除任何操作后,
约束fk_5sainywquv8yyu24pjk3jptn7外键(course_id)
参考public.course_table(course_id)匹配简单
无需更新时
不删除任何动作
)
我需要注释中提到的外键,例如fk_program_id和fk_course_id。
提前致谢。
当我创建GitHub Actions工作流文件时,示例YAML文件包含runs-on: ubuntu-latest。根据文档,我只有Ubuntu,Windows Server和macOS X的几个版本之间可以选择。
我以为GitHub Actions在Docker内部运行。如何选择Docker映像?