使用Hibernate和Spring更新

阿努加

我在数据库中有表可疑,使用休眠逆向工程我创建了它的一个bean。我需要填写一张表格以更新此嫌疑犯。

我所做的是:

一世。提取可疑行(基于使用休眠的ID)

ii。设置在可疑的命名对象中。

iii。通过它作为弹簧形式的命令对象。

它以表格形式成功显示表中的数据。

表中有一些字段是通过一些逻辑设置的。这些字段在表单标签中不存在。所以当我保存(使用休眠中的更新功能)此表单时。它将这些列的值设置为null。

到现在为止,我感到可能有两种解决方案:

  1. 在更新表单中为所有此类字段创建隐藏字段,或
  2. 在更新时再次对其进行硬编码。

哪个更好,还有其他方法可以做到吗?

乔迪·卡斯蒂利亚

还有其他方法吗?

更适合您的方法是在数据库中或在休眠模式下使用默认值,例如以下问题

如果您不希望数据库默认值,而只是Java代码中的默认值,则只需像这样初始化变量即可

将清理代码并使逻辑更清晰:

private Integer myColumn = 100;

无论如何,让我们回答您的问题 :)

哪个更好?

取决于应用程序的需求。

  • 在更新表单中为所有此类字段创建隐藏字段

如果获取此字段的逻辑具有较高的计算成本,则可以使用隐藏字段来节省此计算成本,但是,只要您对这些数据进行了编码,这似乎就不是问题。

  • 在更新时再次对其进行硬编码。

硬编码绝不是学术编程之外的选择,但是如果更新的字段可以更改固定值,则最好的选择是在更新之前再次生成此字段。

更新:

我也想避免使用硬编码值。隐蔽区域的安全仅是关注的问题。虽然就我目前而言,安全性不是一个大问题,但我可以选择第二种方法。

是的,第二种选择对您来说更好。


为了澄清,即这将是硬编码:

int prize = 100;

但是,如果您以表格的形式询问奖金,并且您拥有一个不变的字段,例如:

// CONSTANT
private final Integer VAT = 18;

// ATTRIBUTE (filled by user in form)
int prize;

更新实体时,您可以每次进行重新计算,例如含税的奖金(未经测试,请谨慎使用浮点误差除法

// calculated field / attribute
double finalPrize = prize * VAT / 100;

那是使用常量,而不是硬编码,并且常量是我们的朋友 ;)


更新:安全性

但我很好奇我是否必须保持这些价值观的安全

关于安全性有很多方法,容易吗?将不可更新的值保留在服务器端将完成此工作,如果在客户端需要它们,则可以对它们(javascript/ hibernate进行两次验证,也可以(如果需要)对它们进行加密以隐藏内容。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Spring + Hibernate更新

来自分类Dev

在数据库更新时使用Spring和Hibernate更新单例对象

来自分类Dev

如何在Spring MVC中使用Hibernate和Spring JPA更新数据

来自分类Dev

在Spring和Hibernate中使用TransactionProxyFactoryBean

来自分类Dev

在Spring Security和Hibernate中使用jdbcAuthentication

来自分类Dev

使用Spring MVC和Hibernate实现分页

来自分类Dev

同时使用Hibernate和Spring数据jpa?

来自分类Dev

使用Hibernate和Spring实现乐观锁

来自分类Dev

使用哪个Spring和Hibernate版本

来自分类Dev

使用JPA和Hibernate的Spring Security

来自分类Dev

使用MySQL和Hibernate进行Spring Boot

来自分类Dev

使用 JNDI 和 Hibernate 配置 Spring

来自分类Dev

无法在Hibernate和Spring MVC中添加或更新外键

来自分类Dev

使用jUnit在Spring中使用Hibernate的魔术更新实体

来自分类Dev

实体/行仅有时使用 Spring/Hibernate 更新?

来自分类Dev

并发实体使用Hibernate和Postgres进行读取/更新

来自分类Dev

Hibernate和Spring DataSourceTransactionManager

来自分类Dev

Hibernate和Spring DataSourceTransactionManager

来自分类Dev

如何使用Hibernate和Spring Boot启用批量插入

来自分类Dev

ConstraintViolationException:使用Spring,HSQL和Hibernate时,NOT NULL

来自分类Dev

在JPA / hibernate和spring中使用joda time

来自分类Dev

使用Hibernate进行Spring MVC和bean验证

来自分类Dev

如何使用Hibernate4和Spring创建SessionFactory?

来自分类Dev

使用AngularJS,Spring和Hibernate保存房间预订

来自分类Dev

使用bean登录和注册-Spring MVC + Hibernate

来自分类Dev

使用Hibernate和Spring进行一对多映射

来自分类Dev

在Spring MVC和Hibernate中使用Bean代替模型的目的

来自分类Dev

如何在PostgreSQL和Hibernate / Spring中使用LIMIT子句

来自分类Dev

使用Hibernate,Spring和JDBC配置SSL证书

Related 相关文章

  1. 1

    使用Spring + Hibernate更新

  2. 2

    在数据库更新时使用Spring和Hibernate更新单例对象

  3. 3

    如何在Spring MVC中使用Hibernate和Spring JPA更新数据

  4. 4

    在Spring和Hibernate中使用TransactionProxyFactoryBean

  5. 5

    在Spring Security和Hibernate中使用jdbcAuthentication

  6. 6

    使用Spring MVC和Hibernate实现分页

  7. 7

    同时使用Hibernate和Spring数据jpa?

  8. 8

    使用Hibernate和Spring实现乐观锁

  9. 9

    使用哪个Spring和Hibernate版本

  10. 10

    使用JPA和Hibernate的Spring Security

  11. 11

    使用MySQL和Hibernate进行Spring Boot

  12. 12

    使用 JNDI 和 Hibernate 配置 Spring

  13. 13

    无法在Hibernate和Spring MVC中添加或更新外键

  14. 14

    使用jUnit在Spring中使用Hibernate的魔术更新实体

  15. 15

    实体/行仅有时使用 Spring/Hibernate 更新?

  16. 16

    并发实体使用Hibernate和Postgres进行读取/更新

  17. 17

    Hibernate和Spring DataSourceTransactionManager

  18. 18

    Hibernate和Spring DataSourceTransactionManager

  19. 19

    如何使用Hibernate和Spring Boot启用批量插入

  20. 20

    ConstraintViolationException:使用Spring,HSQL和Hibernate时,NOT NULL

  21. 21

    在JPA / hibernate和spring中使用joda time

  22. 22

    使用Hibernate进行Spring MVC和bean验证

  23. 23

    如何使用Hibernate4和Spring创建SessionFactory?

  24. 24

    使用AngularJS,Spring和Hibernate保存房间预订

  25. 25

    使用bean登录和注册-Spring MVC + Hibernate

  26. 26

    使用Hibernate和Spring进行一对多映射

  27. 27

    在Spring MVC和Hibernate中使用Bean代替模型的目的

  28. 28

    如何在PostgreSQL和Hibernate / Spring中使用LIMIT子句

  29. 29

    使用Hibernate,Spring和JDBC配置SSL证书

热门标签

归档