玩! - 独特的模型领域

2024-02-12

如何使我的模型类字段独一无二?例如。如果已经登录,我想为用户显示正确的消息。我必须编写自己的验证检查并使用它,或者 JPA@UniqueConstraint可以用吗?


我是这样做的:

@Entity
public class User extends Model {

    @Basic(optional=false) @Column(unique=true) public String name;

    public User(String name) {
        this.name = name;
        create();
    }

    /** used in registration to find name clash */
    public static User findByName(String name) {
        return find("name", name).first();
    }

}

然后在控制器中执行如下操作:

public static void register(@Required String name) {
    if(User.findByName(name)!=null) {
        Validation.addError("name", "this name is not available");
    }
    if (validation.hasErrors()) {
        validation.keep();
        params.flash();
        flash.error("Please correct the form data.");
        signup(); // whatever your GET action was
    }

    User user = new User(name);
    login(); // whatever your success action is
}

您可以在没有 User.findByName() 检查的情况下执行此操作,并且您会得到 ConstrainViolationException 但这当然不是很用户友好。您也可以尝试/捕获该异常。我更喜欢这两种方式,即用户友好且在数据库中保持一致。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

玩! - 独特的模型领域 的相关文章

  • Java:扩展类并实现具有相同方法的接口

    可能无法完成以下操作 我收到编译错误 继承的方法 A doSomthing int 无法隐藏 B 中的公共抽象方法 public class A int doSomthing int x return x public interface
  • TreeMap 删除所有大于某个键的键

    在项目中 我需要删除键值大于某个键的所有对象 键类型为Date 如果重要的话 据我所知TreeMapJava中实现的是红黑树 它是一种二叉搜索树 所以我应该得到O n 删除子树时 但除了制作尾部视图并一一删除之外 我找不到任何方法可以做到这
  • java.lang.ClassNotFoundException:javax.mail.MessagingException

    我想使用 eclipse 将电子邮件从我的 gmail 帐户发送到另一个邮件帐户 我使用 apache tomcat 7 0 34 作为我的 Web 服务器 并使用端口 8080 作为 apache 服务器 HTTP 1 1 并使用 JRE
  • Android:文本淡入和淡出

    我已阅读此 stackoverflow 问题和答案 并尝试实现文本淡入和淡出 Android中如何让文字淡入淡出 https stackoverflow com questions 8627211 how to make text fade
  • 如何调试“com.android.okhttp”

    在android kitkat中 URLConnection的实现已经被OkHttp取代 如何调试呢 OkHttp 位于此目录中 external okhttp android main java com squareup okhttp 当
  • Runtime.exec 处理包含多个空格的参数

    我怎样才能进行以下运行 public class ExecTest public static void main String args try Notice the multiple spaces in the argument Str
  • Akka 与现有 java 项目集成的示例

    如果我已经有现有的javaWeb 应用程序使用spring and servlet容器 将 Akka 集成到其中的正确方法是什么 就像我将会有Actor1 and Actor2互相沟通的 开始使用这些演员的切入点是什么 例如 1 把它放在那
  • 如何在.NET中使用java.util.zip.Deflater解压缩放气流?

    之后我有一个转储java util zip Deflater 可以确认它是有效的 因为 Java 的Inflater打开它很好 并且需要在 NET中打开它 byte content ReadSample sampleName var inp
  • Java继承,扩展类如何影响实际类

    我正在查看 Sun 认证学习指南 其中有一段描述了最终修饰符 它说 如果程序员可以自由地扩展我们所知的 String 类文明 它可能会崩溃 他什么意思 如果可以扩展 String 类 我是否不会有一个名为 MyString 的类继承所有 S
  • 蓝牙发送和接收文本数据

    我是 Android 开发新手 我想制作一个使用蓝牙发送和接收文本的应用程序 我得到了有关发送文本的所有内容逻辑工作 但是当我尝试在手机中测试它时 我看不到界面 这是Main Activity Code import android sup
  • 如何在JPanel中设置背景图片

    你好 我使用 JPanel 作为我的框架的容器 然后我真的想在我的面板中使用背景图片 我真的需要帮助 这是我到目前为止的代码 这是更新 请检查这里是我的代码 import java awt import javax swing import
  • hibernate 6.0.2.Final 和 spring boot 2.7.0 的entityManagerFactory bean 未配置问题

    所以最近我想升级我的 Spring Boot 项目项目的一些依赖项 特别是这些组件 雅加达 EE 9 弹簧靴2 7 休眠 6 0 2 Final 完成此操作后 所有更新和代码折射 更新将 javax 导入到 jakarta 以及一些 hib
  • 为什么\0在java中不同系统中打印不同的输出

    下面的代码在不同的系统中打印不同的输出 String s hello vsrd replace 0 System out println s 当我在我的系统中尝试时 Linux Ubuntu Netbeans 7 1 它打印 When I
  • 在 Spring 上下文中查找方法级自定义注释

    我想知道的是 所有的类 方法Spring http en wikipedia org wiki Spring Framework注释为 Versioned的bean 我创建了自定义注释 Target ElementType METHOD E
  • 列表过滤器内的 Java 8 lambda 列表

    示例 JSON id 1 products id 333 status Active id 222 status Inactive id 111 status Active id 2 products id 6 status Active
  • java 中的蓝牙 (J2SE)

    我是蓝牙新手 这就是我想做的事情 我想获取连接到我的电脑上的蓝牙的设备信息并将该信息写入文件中 我应该使用哪个 api 以及如何实现 我遇到了 bluecove 但经过几次搜索 我发现 bluecove 不能在 64 位电脑上运行 我现在应
  • Log4j2 ThreadContext 映射不适用于parallelStream()

    我有以下示例代码 public class Test static System setProperty isThreadContextMapInheritable true private static final Logger LOGG
  • Java RMI - 客户端超时

    我正在使用 Java RMI 构建分布式系统 它必须支持服务器丢失 如果我的客户端使用 RMI 连接到服务器 如果该服务器出现故障 例如电缆问题 我的客户端应该会收到异常 以便它可以连接到其他服务器 但是当服务器出现故障时 我的客户端什么也
  • MiniDFSCluster UnsatisfiedLinkError org.apache.hadoop.io.nativeio.NativeIO$Windows.access0

    做时 new MiniDFSCluster Builder config build 我得到这个异常 java lang UnsatisfiedLinkError org apache hadoop io nativeio NativeIO
  • Java 11 - 将 Spring @PostConstruct 替换为 afterPropertiesSet 或使用 initMethod

    我正在使用 spring 应用程序 有时会使用 PostConstruct用于代码和测试中的设置 看来注释将被排除在外Java 11 https www baeldung com spring postconstruct predestro

随机推荐

  • 如何从firebase实时数据库获取字符串数组

    databaseReference FirebaseDatabase getInstance getReference sample databaseReference addValueEventListener new ValueEven
  • Python Pandas:当日期小于 13 时,pandas.to_datetime() 会切换日期和月份

    我编写了一个读取多个文件的代码 但是在我的一些文件中 每当日期小于 13 时 日期时间就会交换日期和月份 并且从第 13 天或以上开始的任何一天 即 13 06 11 仍然正确 DD MM YY 我试图通过这样做来修复它 但它不起作用 我的
  • django admin - 您无权编辑任何内容

    我跟着Django 文档 https docs djangoproject com en 1 8 topics auth customizing a full example创建自定义用户模型 同时使用我自己的字段扩展模型本身 于是就变成了
  • 在本地主机上启动 Jupyter Notebook 会导致“[Errno 49] 无法分配请求的地址”,但 ip=127.0.0.1 有效

    尝试启动 Jupyter Notebook 时出现以下错误 Jupyter Notebook Traceback most recent call last File Library Frameworks Python framework
  • ASP.Net Core JWT 令牌验证

    我需要验证在请求中收到的多个令牌 我遵循以下代码流程 services AddAuthentication AddJwtBearer Token1 options gt options TokenValidationParameters n
  • 是否可以调用不在 MATLAB 路径中的函数?

    我安装了一个库 其中有一些与 MATLAB 同名的函数 通过安装库 我的意思是添加路径 当我尝试调用这些函数时 它将使用该库的实现 但我想调用 MATLAB 实现 为了更简单 如果我有两个函数的绝对地址 如何指定要调用哪个函数 我搜索了答案
  • Github 访问错误 - 遇到 AggregateException [重复]

    这个问题在这里已经有答案了 我使用 github 存储库已经快一年了 从今天早上开始 我无法将我的代码推送到远程存储库 我在命令行中收到以下错误 致命 遇到 AggregateException Mindestens ein Fehler
  • 在使用 Inno Setup 安装期间报告已安装的 .NET Framework 版本

    我正在尝试使用 Inno Setup 来准备创建安装程序 我的第一次尝试是向用户报告当前安装了哪个 NET Framework 我想出了以下脚本 它安装了一个令牌 exe 但它没有显示我想要显示已安装的框架版本的消息框 Setup AppN
  • 使用 ECTO 和 put_assoc/4 进行多对多

    我尝试将 2 个现有多对多记录与 ECTO 和 put assoc 4 关联 但在尝试更新时不会删除元素 基本上我有项目和用户 为了管理用户对项目的访问 我有表 user project def Project do schema proj
  • 如何使用 Keras 预测函数/表?

    我目前正在学习keras 我的目标是创建一个简单的模型来预测函数的值 首先 我创建两个数组 一个用于 X 值 一个用于相应的 Y 值 declare and init arrays for training data X np arange
  • 从python中的字符串中获取两个字符[重复]

    这个问题在这里已经有答案了 如何在Python中从字符串中获取不是一个字符 而是两个字符 I have long str abcd for c in long str print c 它给了我喜欢 a b c d 但我需要得到 ab cd
  • 如何调试 Visual Studio 扩展

    我正在为 Visual Studio 2010 编写 VSIX 扩展 但不知道如何调试它 一种明显的方法是输出消息 扩展模板使用Trace WriteLine 但是在哪里可以找到它的输出呢 Visual Studio Extensions
  • 如何在新窗口中使用jspdf打开生成的pdf

    我在用jspdf生成 pdf 文件 一切都运转良好 但生成后如何打开 pdf 在新选项卡或新窗口中 我在用 doc output datauri 这是在同一选项卡中打开 pdf 根据来源 您可以将 dataurlnewwindow 参数用于
  • 从 csv 文件中删除字母和符号 - python 3.7

    我有一个 CSV 文件 其中有一列名为activity其中有如下数据 instv2 02 00001 20190517235008 instv2 9 Insti2 3 Fbstt1 00001 20190517131933 我需要仅从 活动
  • 如果输入包含数组中的任何单词

    我有一个输入 我想知道数组中是否存在任何值 举个简单的例子 我的数组是 var array sun mon tue wed thu fri sat 例如 我已经弄清楚如果我简单地输入 sun 如何触发它 但我想知道 hhsun 或 sune
  • 定义交换运算时减少代码重复

    我有一组名为的可交换二元函数的重载overlap 它接受两种不同的类型 class A a class B b bool overlap A B bool overlap B A 我的功能overlap当且仅当一个形状与另一个形状重叠时返回
  • 宏函数和内联函数在执行速度方面有什么区别?

    编译器如何通过宏处理内联函数以减少执行时间 编译器也被允许not如果这样做会更快 则内联函数 而编译器不能不内联宏 此外 内联函数比宏安全得多
  • 为基类设计一个基迭代器

    我目前正在设计一个界面 Base在下面的示例中 它提供了一些虚拟方法 包括begin and end 这两个方法简单地返回相应的迭代器 就像在任何其他集合类中一样 派生类应该实现这些方法并返回其迭代器的特定实现 下面的 简化的 示例显示了一
  • 自动将输入提供给 Linux 命令行 [重复]

    这个问题在这里已经有答案了 如果我有一个 linux 命令提示输入 2 个或更多输入 如何通过在命令行中定义它来将这些输入传递到提示符 您可以在命令后面添加一些内容来执行此操作吗 在下面的示例中 如何运行命令并向其传递用户名和密码 而无需在
  • 玩! - 独特的模型领域

    如何使我的模型类字段独一无二 例如 如果已经登录 我想为用户显示正确的消息 我必须编写自己的验证检查并使用它 或者 JPA UniqueConstraint可以用吗 我是这样做的 Entity public class User exten