gpt4 book ai didi

java - 在 Hibernate 中同时使用@Column 和@Formula

转载 作者:行者123 更新时间:2023-11-29 08:31:35 24 4
gpt4 key购买 nike

我有一个 POJO,目前我正在从单个列中获取一个值。但是,我正在使用 Hibernate @Formula 检索它(我从另一个表中选择最新记录)。我想轻轻地走,以免破坏任何东西。

所以我想做的是这样的:

class SomeDto {
private someField;

@Column("PREVIOUS_FIELD_COLUMN", nullable = false, length = 1)
@Formula("@NEW RETRIEVING LOGIC@")
public getSomeField() {
...
}

这样我就可以将 someField 值存储在 PREVIOUS_FIELD_COLUMN 中,同时根据新条件检索该值。

但是现在 Hibernate 似乎忽略了 @Column 注释,因为我收到以下错误:

SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into

我在日志中看到 Hibernate 在生成的插入语句中跳过了 PREVIOUS_FIELD_COLUMN(没有列出它,也没有设置来自 POJO 的值)。

感谢任何帮助,非常感谢!

最佳答案

我想你会使用 ColumnTransformer 而不是这样的公式

  class SomeDto {
private someField;


@Column("PREVIOUS_FIELD_COLUMN", nullable = false, length = 1)
@ColumnTransformer(read = “@NEW RETRIEVING LOGIC@”)
public getSomeField() {
...
}

有关更多信息,请参阅此 https://www.thoughts-on-java.org/map-encrypted-database-columns-hibernates-columntransformer-annotation/

关于java - 在 Hibernate 中同时使用@Column 和@Formula,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47699096/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com