- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个类使用单表策略(我无法更改)扩展现有实体。我想对该实体使用 UniqueConstraint,所以我尝试了:
@Entity
@Table(name = "t_document")
public class Document implements Serializable {
...
}
和
@Entity
@Table(uniqueConstraints = { @UniqueConstraint(name = "Test", columnNames = { ... }) })
public class MyDocument extends Document {
...
}
根本没有使用唯一约束,日志文件中没有任何内容。在这种情况下,这是使用 UniqueConstraints 的正确方法吗?
(我们使用JPA2、JBoss 7.1)
最佳答案
您不能覆盖基类@Table 声明,这就是忽略子类uniqueConstraints 指令的原因。
使用 JPA,您可以 override annotations with xml declarations .因此,您需要在 class-pat 中添加一个 orm.xml 文件,并在其中添加唯一约束:
<entity-mappings
xmlns="http://java.sun.com/xml/ns/persistence/orm"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence/orm orm_2_0.xsd"
version="2.0">
<package>...</package>
<entity class="Document" access="PROPERTY" metadata-complete="false">
<table name="document">
<unique-constraint>
<column-name>first_column</column-name>
<column-name>second_column</column-name>
</unique-constraint>
</table>
</entity-mappings>
这样你甚至可能不需要 MyDocument 子类,如果你只用它来覆盖 DDL 模式的话。
关于java - 如何在单表继承(JPA)中使用@UniqueConstraint?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27740929/
在我的 Spring/hibernate 项目中,我使用 uniqueConstraints = {@UniqueConstraint(columnNames={"ID_A", "ID_B"})} 来
我有一个 Product 实体,它的 name 和 category 组合对于每个产品都应该是唯一的。 在我的例子中,name 是必需的,但 category 可能不存在。 Product 定义如下:
这个问题已经有答案了: What does JPA @UniqueConstraint do in Hibernate? (1 个回答) 已关闭 6 年前。 在以下实体中,我想在数据库中进行唯一的写入
一个快速的 SQLAlchemy 问题... 我有一个类“Document”,其属性为“Number”和“Date”。我需要确保同一年没有重复的数字,是有没有办法在“数字 + 年(日期)”上设置 Un
使用以下模型,为什么以下交互在同一事务中成功地向关系添加重复关联?我预计(并且需要)它会因关联表上放置的 UniqueConstraint 而失败。 模型: from app import db #
我有一个对 3 个字段具有唯一约束的实体。 2 个字段不可为空,第三个字段可为空。 我的问题是,当第三个字段为空时,唯一约束不起作用,因此我的数据库中可以有一些重复的值,例如 (5,1,null)(5
我有一个数据模型,其中许多实体从单个父类(super class)实体继承一些公共(public)属性。我在父类(super class)上使用 InheritanceType.JOINED ,这会导
您能否澄清一下此注释的实际用途? - 如果我们没有使用数据库中的 SQL 表定义定义相应的约束,会发生什么情况。当我们尝试插入时,hibernate 会检查唯一性吗?或者这就是DB的目的吗?如果 hi
在 Spring JPA 中,我有一个实体,并使用 FlywayDb 初始化架构。我的实体是: @Entity @Table(schema = "scheduler", uniqueC
我刚开始在 C# 上使用 db4o,但在设置数据库上的 UniqueConstraint 时遇到了问题。 这是 db4o 配置 static IObjectContainer db = Db4oEmb
我有一个注释如下的实体: @Entity @Table(uniqueConstraints={@UniqueConstraint(columnNames={"name"})}) public clas
我只是想获得有关此导入的解释,我一直在寻找一些好的解释,但找不到。 javax.persistence.UniqueConstraint http://www.mkyong.com/hibernate
我正在为我的 django 应用程序 SrdObject 创建一个抽象模型。我的模型的特征之一是它有一对字段,它们放在一起必须是唯一的:“name”和外键“module”。 这是我的一个例子 clas
几天来,我遇到了一个 Doctrine 实体的小问题。我在两个字段上使用 UniqueConstraint 定义它,然后在这两个字段上使用 UniqueEntity 验证。但是在通过添加一个已经在 b
我正在尝试通过下一种方式在 Flask-SQLAlchemy 的父类中添加唯一约束。如您所见,继承以 Joined Table 方式表示。 class Parametric(object, Model
我想将 UniqueConstraint 与 flask_sqlalchemy 一起使用 不幸的是,这个导入语句: from flask_sqlalchemy import SQLAlchemy, U
校园有@OneToMany 大楼 大楼有@OneToMany 房间。 房间名称在校园内必须是唯一的 (例如校园-A,A座,A室和校园-B,A座,A室应该可以存储) 是否可以在 Room 实体上定义这样
处理一些遗留的 hibernate 代码。 如何使用 hbm.xml( hibernate 映射文件)而不是注释来执行以下操作? @Table(name="users", uniqueConstrai
我有这个代码: @Table(uniqueConstraints = @UniqueConstraint(columnNames = {"name", "color"})) @MappedSuperc
我有一个类使用单表策略(我无法更改)扩展现有实体。我想对该实体使用 UniqueConstraint,所以我尝试了: @Entity @Table(name = "t_document") publi
我是一名优秀的程序员,十分优秀!