- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个注释如下的实体:
@Entity
@Table(uniqueConstraints={@UniqueConstraint(columnNames={"name"})})
public class Component extends Model {
...
}
是否可以让 UniqueConstraint 不区分大小写?我们正在使用 PostgreSQL。
最佳答案
我建议从不同的角度来解决这个问题:
添加一个新列,内部列,将其命名为 lcname(代表小写的名称)
@NotEmpty
@Column(nullable = false)
private String lcname;
更改您设置为注释的约束以改为使用新字段:
@Entity
@Table(uniqueConstraints={@UniqueConstraint(columnNames={"lcname"})})
public class Component extends Model {
...
}
修改 name setter 以将 lcname 也设置为客户端提供的原始名称的小写
public void setName(String name) {
this.name = name;
this.lcname = name.toLowerCase();
}
就是这样。每次实体被持久化时,也会保存一个小写的名称。这样,如果您保存“A”,您将保存 lcname =“a”的记录,下次您尝试保存名称为“a”的实体时,由于 lcname 的约束,操作将失败更改对于从数据库中获取实体的任何人来说都是完全透明的,因为 lcname 是私有(private)的并且没有它的 getter,而原始的 getName 将返回创建它的客户端最初提供的原始名称。
关于Hibernate 注释 - 不区分大小写的 UniqueConstraint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4031709/
在我的 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
我是一名优秀的程序员,十分优秀!