【发布时间】:2011-05-01 09:26:40
【问题描述】:
我正在使用 Spring + Hibernate 在 MySQL 数据库中创建和存储记录。
就在保留记录之前,我希望我的系统生成一个随机字符串,该字符串将存储在正在存储的实体的字段中。这个随机字符串稍后将用作访问密钥来检索记录并确认用户的输入。
我想在我的实体类中使用带有@PrePersist 注释的方法来实现这种行为。这是放置这种方法的合适位置吗?
这个问题出现在我身上,因为我不知道如何检查数据库表中随机字符串的唯一性,因为我想不出一种方法来引用 spring 的 HibernateTemplate 实例来从实体类中进行查询。
非常感谢任何建议。
【问题讨论】:
-
@PrePersist 是 JPA,而不是休眠。如果你使用 JPA,你应该使用 JpaTemplate,而不是 HibernateTemplate。
-
感谢 Seanizer,我是 Hibernate 和 JPA 的新手。我在 Hibernate 文档中找到了 PrePersist 注释,但您可能正确地使用 JpaTemplate 而不是 HibernateTemplate。但是实体类是否是做我想做的事情的合适位置,我如何能够从该类中检查生成的列值的唯一性?
标签: hibernate spring entity business-logic