Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 访问引用实体字段的正确方法_Java_Hibernate_Jpa - Fatal编程技术网

Java 访问引用实体字段的正确方法

Java 访问引用实体字段的正确方法,java,hibernate,jpa,Java,Hibernate,Jpa,我不熟悉Hibernate,我今天在一个新项目中看到了这段代码: 公共抽象类验证代码{ @列(name=“userId”,updateable=false,insertable=false) @吸气剂 @塞特 私有长用户ID; @许多酮 @JoinColumn(name=“userId”,referencedColumnName=“userId”) @吸气剂 @塞特 私有主用户; // .... } 我的问题是,像这样声明userId字段是否多余?我们不能只使用一个getter? 或者,在某些

我不熟悉Hibernate,我今天在一个新项目中看到了这段代码:

公共抽象类验证代码{
@列(name=“userId”,updateable=false,insertable=false)
@吸气剂
@塞特
私有长用户ID;
@许多酮
@JoinColumn(name=“userId”,referencedColumnName=“userId”)
@吸气剂
@塞特
私有主用户;
// ....
}
我的问题是,像这样声明
userId
字段是否多余?我们不能只使用一个
getter
? 或者,在某些情况下,例如如果我们将用户的获取类型设置为
Lazy
,我们可以访问
userId
字段而不获取用户实体,那么它的值是多少


你有什么建议?

当你看到这个多余的东西时,我认为你是对的。
@ManyToOne
注释指定了
JoinColumn(name=“userId”,…
,这意味着存储
ValidationCode
实体的表有一个列
userId
,该列将与存储
MasterUser
的表(以及名为
userId
的列)连接。 另一方面,
userId
属性也映射到存储
ValidationCode
的表上的
userId


现在,老实说,我不知道这是否有效。如果它真的有效,那么这些属性会发生什么。而且两者都有
@Setter
,这会让事情变得更糟。

您认为
userId
的声明在哪方面是多余的?您是指在
字段上有一个
@Column
注释这一事实吗>userId
而不是在getter
getUserId()上
?似乎是@code\u机械师的重复谢谢,我从帖子的对话中学到了很多。关闭这个,因为它类似于引用的一个。是的,两个
@Setter
的事情很可怕。出于某种原因,一旦更新这样的实体,我必须为
用户ID
用户
设置新的值,如果只更新de>user实体,实体中的
userId
将不会更新。