当前位置: 首页 > 面试题库 >

我可以说出JPA的约束条件吗?

冯和硕
2023-03-14
问题内容

当我使用maven-
hibernate3-plugin(又名hbm2ddl)生成数据库架构时,它会创建许多数据库约束,并且具有难以理解的约束名称,例如FK7770538AEE7BC70

有没有办法提供更有用的名称,例如FOO_FK_BAR_ID

如果是这样,则可以更轻松地在日志文件和其他地方(除了约束名称之外)不告诉您其他信息的地方查找问题。


问题答案:

从JPA 2.1开始,可以为外键命名。例如

@ManyToOne
@JoinColumn(foreignKey=@ForeignKey(name="MY_FANCY_FK_NAME"))
Account account;

只要确保在@JoinColumn中使用它即可。JavaDoc:https
:
//docs.oracle.com/javaee/7/api/javax/persistence/ForeignKey.html#name%28%29



 类似资料:
  • 我想添加一个约束,只在表的一部分中对列强制唯一性。 上面的部分是一厢情愿的想法。 有办法吗?还是应该回到关系绘图板?

  • 问题内容: 我有一个用户表,例如: 和一张有工作的桌子: 可以将作业分配给用户,但只能分配给超级用户。其他用户无法分配作业。 因此,我有一个表格,通过它可以查看将哪个作业分配给了哪个用户: 但是我想创建一个检查约束,该约束引用具有的用户。 那可能吗?还是有其他解决方案? 问题答案: 这将适用于INSERTS: 然后在user_has_job表上检查约束: 适用于插入物: 但是,这是可能的: 因此,

  • 我想我刚刚发现两种不同的JPA实现对约束违规和回滚的工作方式不同。 哪个实现是正确的? 如您所见,Bean验证似乎对两个提供程序都启用了。 EclipseLink将CVE打开,并标记回滚 和Hibernate在上抛出RB。

  • 问题内容: 我有以下情况。主表和许多其他表通过外键链接在一起。现在,当我想删除主表中的一行时,将会发生ConstraintsViolation,这是有目的的,也是很好的。 现在,我希望能够在触发删除行事件之前检查ConstraintsViolation是否会发生。 这可能吗? 问题答案:

  • 我有一个幻灯片类的东西,图像将尽可能扩大,但不会超过视口的宽度或高度。基本上。 我想让这些图像具有响应性,因为“尽可能大”的手机和超大的桌面是完全不同的。我无法使用<代码> 我从: 但这并不像屏幕的方向那么简单,因为实际涉及的纵横比可能会变得非常奇怪,无论是视口(非常高的手机、浏览器工具栏等)还是图像本身;同一张图像可能在一个屏幕上受到宽度限制,但在另一个屏幕上受到高度限制。我想我可以编写一个解析

  • 问题内容: 我正在JPA中对userid列强制执行唯一性约束检查,这是对user表中的所有记录强制执行的。 我的要求是,特定组织内的用户ID必须唯一,而不是在所有组织中都唯一。 如何执行此类检查? 问题答案: 您可以为唯一约束指定多个字段,请尝试: 通过这样做,您的约束条件将检查userid和Organizationid的组合是否唯一。 最好的祝福,费边