java - 未在 Id 类上调用 PostLoad 方法

标签 java hibernate jpa

我有一个实体类,另一个类是该实体的 Identity 类。 我在 Id 类中编写了 @javax.persistence.PostLoad 注释,以在其中一列上放置一些默认值。

但我发现它根本没有被调用。难道ID类不应该有这个注解吗?

最佳答案

您可以通过@PostLoad注释Entity类中的方法,将默认值设置为...

如果您注释了 ID 类,那么您需要在实体类中将其引入为回调监听器:

@EntityListeners({ID.class})
class MyEntity

我认为这不是一个好主意,因为您的监听器的实例与实体类中的 ID 实例无关。它们是 ID 类的 2 个不同对象。

@PostLoad

Is used to specify callback methods for the corresponding lifecycle event. This annotation may be applied to methods of an entity class, a mapped superclass, or a callback listener class.

关于java - 未在 Id 类上调用 PostLoad 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3607838/

相关文章:

java - 如何解决 JPA-CriteriaAPI 的 Java 警告和编译错误?

java - 如何检查日期对象是否等于昨天?

java - Hibernate INSERT 未出现在数据库中 "JDBC transaction marked for rollback-only"

java - jpa 2.1、Hibernate 4.3.7 和 C3P0 的管道损坏

java - Spring JPA + 在 postgresql 中的模式之间动态切换数据源

java - 在 hibernate 中检索子属性时出错

java - Spring JPA无法使用单词 'match'作为数据库表的名称

Java:多维数组输出困惑?

java - 如何在 Windows 系统中获取剩余电池生命周期?

java - Ehcache 3 的 web.xml 在哪里?