Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/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
Java 如何在模型中保存字段而不将其保存在数据库中?_Java_Spring Boot - Fatal编程技术网

Java 如何在模型中保存字段而不将其保存在数据库中?

Java 如何在模型中保存字段而不将其保存在数据库中?,java,spring-boot,Java,Spring Boot,我对Spring Boot非常陌生,所以这可能是一个n00b问题 我试图保存一个字段(表号),该字段只有在用户登录时才可访问。我不想在数据库中持久保存这个 流量: -登录 -选择表 -为当前用户保存表号 -做一些需要表号的事情 -注销 -忘记表号 我尝试使用@Transactional来阻止保存字段,并使用SecurityContextHolder.getContext().getAuthentication来获取当前用户。 这样做,我可以保存字段。如果以后使用相同的方法获取当前用户并调用get

我对Spring Boot非常陌生,所以这可能是一个n00b问题

我试图保存一个字段(表号),该字段只有在用户登录时才可访问。我不想在数据库中持久保存这个

流量: -登录 -选择表 -为当前用户保存表号 -做一些需要表号的事情 -注销 -忘记表号

我尝试使用@Transactional来阻止保存字段,并使用SecurityContextHolder.getContext().getAuthentication来获取当前用户。 这样做,我可以保存字段。如果以后使用相同的方法获取当前用户并调用getTableNumber()方法,则不再设置该字段

我意识到这可能是一件非常简单的事情,但我在理解如何在不访问数据库的情况下访问模型时遇到了一些问题


如果需要更多的解释或实际代码,请告诉我。

我想一个会话处理的bean可以解决您的问题,但仅仅为了一个数值,创建一个bean可能不是可行的解决方案。 因此,您可以将该值存储在用户http会话中,并在控制器方法中获得该会话对象。一旦您从前端获得表号(据我所知),将其放入用户http会话中,通过从控制器处理程序方法中的会话对象获取它,在您想使用的任何地方使用它,并且当用户会话被销毁时,在您的情况下作为表号的数据将被自动销毁

现在,如果您想将它也放在模型类中,那么您可以使用@Transient annotation,通过该注释,持久层可以理解它不应该被持久化到数据库中


参考:

我想一个会话处理的bean可以解决您的问题,但仅仅为了一个数值,一起创建一个bean可能不是可行的解决方案。 因此,您可以将该值存储在用户http会话中,并在控制器方法中获得该会话对象。一旦您从前端获得表号(据我所知),将其放入用户http会话中,通过从控制器处理程序方法中的会话对象获取它,在您想使用的任何地方使用它,并且当用户会话被销毁时,在您的情况下作为表号的数据将被自动销毁

现在,如果您想将它也放在模型类中,那么您可以使用@Transient annotation,通过该注释,持久层可以理解它不应该被持久化到数据库中

参考: