gpt4 book ai didi

java - 为什么当我放置 transient 标签时,hibernate 会出现此错误?

转载 作者:行者123 更新时间:2023-12-01 16:54:43 28 4
gpt4 key购买 nike

我正在尝试修复 Kiuwan 向我指出的漏洞。

问题是其中之一是将 Transient 类型添加到 Date 类型变量,当我这样做时,会出现以下错误。

Caused by: org.hibernate.AnnotationException: com.pack.keys.MyClassKey has no persistent id property: com.pack.logic.MyClass.id

如果我不将 transient 放入日期中,则不会显示错误并且我的项目会编译。

我的类(class)

@Table(name = "tablename")
@AllArgsConstructor
@NoArgsConstructor
@Data
public class MyClass{

@EmbeddedId
private MyClassKey id;

private String string1;

//Many String more...

MyClassKey
@Embeddable
@AllArgsConstructor
@NoArgsConstructor
@Data
public class MyClassKey implements Serializable {

private static final long serialVersionUID = 1L;

private transient String string1;

private transient String string2;

private transient String string3;

@Temporal(TemporalType.TIMESTAMP)
private transient Date myDate;
}



谢谢。

最佳答案

因为 transient 排除了 Hibernate 中的属性。与添加@Transient注解效果相同:

https://javaee.github.io/javaee-spec/javadocs/javax/persistence/Transient.html

关于java - 为什么当我放置 transient 标签时,hibernate 会出现此错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61610198/

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