Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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 为什么使用@Transient Annotated不会创建相应的列。。。?_Java_Hibernate - Fatal编程技术网

Java 为什么使用@Transient Annotated不会创建相应的列。。。?

Java 为什么使用@Transient Annotated不会创建相应的列。。。?,java,hibernate,Java,Hibernate,为什么使用@Transient Annotated不会在数据库表中创建相应的列…? @Transient String getLengthInMeter() { } 如果我没有使用“@Transient”注释,则会在数据库中创建LengthInMeter列,但如果我使用此注释,则不会在数据库中创建相应的列。有人能解释为什么不会创建该列吗?我没有得到实际原因 我研究了这些链接 但是仍然不理解@Transient,正如解释的那样,它是针对不应该持久化到数据库的字段的 为什么??因为有时我们在类中需

为什么使用@Transient Annotated不会在数据库表中创建相应的列…?

@Transient
String getLengthInMeter() { }
如果我没有使用“@Transient”注释,则会在数据库中创建LengthInMeter列,但如果我使用此注释,则不会在数据库中创建相应的列。有人能解释为什么不会创建该列吗?我没有得到实际原因

我研究了这些链接
但是仍然不理解

@Transient
,正如解释的那样,它是针对不应该持久化到数据库的字段的

为什么??因为有时我们在类中需要字段,但在数据库中不适用

例如,
age
是我们在
Person
对象中需要的东西,但我们不需要将其持久化到数据库中。我们只需要
出生日期
来计算
年龄


另一个例子是
fullName
,我们可能需要它来显示,但我们不会将它保存到数据库中,因为我们只需要每次连接
firstName
lastName

@Transient-用于不需要持久化的属性/字段

这意味着列值/字段值将不会保存在数据库中


-JavaDoc

您是否试图关注它是如何实现的?否则,
@Transient
标记的字段/属性不会持久化-它们不是持久化字段。它是以这种方式记录和实现的。