Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.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
未向数据库提交hibernate实体字段_Hibernate_Jpa - Fatal编程技术网

未向数据库提交hibernate实体字段

未向数据库提交hibernate实体字段,hibernate,jpa,Hibernate,Jpa,我有一个基本的hibernate实体,它包含几个字段。 当前,所有字段都使用@column注释进行注释,DB scheam也相应地进行了相应的注释 现在,我想做的是从数据库中删除一个字段,但将其保留在实体中(仅在某些验证中需要它,不应将其写入数据库) 所以我已经更新了我的DB scheam,但是我应该如何处理我的实体呢? 我应该简单地从字段中删除@column注释,还是有专门的jpa注释将字段从crud操作中排除 提前谢谢 将实体类中的属性注释为@Transient并删除@Column注释。您好

我有一个基本的hibernate实体,它包含几个字段。 当前,所有字段都使用@column注释进行注释,DB scheam也相应地进行了相应的注释

现在,我想做的是从数据库中删除一个字段,但将其保留在实体中(仅在某些验证中需要它,不应将其写入数据库)

所以我已经更新了我的DB scheam,但是我应该如何处理我的实体呢? 我应该简单地从字段中删除@column注释,还是有专门的jpa注释将字段从crud操作中排除


提前谢谢

将实体类中的属性注释为@Transient并删除@Column注释。

您好,谢谢。我认为用@Transient注释也会阻止这个字段通过网络(从服务器到客户机再到客户机)传递,因为它不会被jaxb处理(对吗?)。这种行为不适合我,因为我希望能够将此字段从客户端传递到服务器,但不想将其写入数据库。我不知道有什么方法可以实现这一点。您希望使用JAXB序列化字段,而不希望使用JPA序列化字段。在我看来,这是一种对抗。对于应用程序的JAXB部分,最好使用单独的传输对象。我认为这将使您的代码更加解耦,并使维护和测试代码变得更好。您的建议是我目前实际实现的选项之一(我用dto pojo包装了我的实体,并将我的字段从实体中排除到pojo包装中)。我只是想也许我错过了什么,我猜不是。非常感谢。