当前位置: 首页 > 面试题库 >

如何使实体为只读?

翟迪
2023-03-14
问题内容

使用JPA将实体设为只读的正确方法是什么?我希望我的数据库表永远不会以编程方式进行修改。

我想我知道我应该用锁定我的对象LockModeType.READ。从数据库检索后,是否可以使用注释使我的实体直接锁定?还是我必须弄乱并覆盖该特定实体的通用DAO?


问题答案:

一种解决方案是使用基于字段的注释,将字段声明为,protected并仅建议公共获取者。这样做,您的对象无法更改。

(此解决方案不是特定于实体的,它只是构建不可变对象的一种方法)



 类似资料:
  • 我设置了多个这样的父子实体。 在前端,我有一个页面显示一个营表,供用户选择以查看详细信息。此页面依赖于RESTful API,并将存储库和服务类设置为RESTful API。 我的问题是JPARepository的方法不仅返回营条目列表,还返回营链接到的父旅实体,以及每个营包含的所有关联子连。它会使JSON数据膨胀(我不需要表中的所有细节),并使调试时难以读取,更不用说将所有数据转储到客户端的安全

  • 考虑一个域,其中客户、公司、雇员等拥有一个ContactInfo属性,该属性又包含一组地址、电话、电子邮件等。 以下是我的缩写联系人信息: 一些注意事项(我不是100%确定这些是否是EF的“最佳实践”): 地址集合是虚拟的,以允许延迟加载 集合上的私有设置器禁止集合替换 集合是一个以确保每个联系人没有重复的地址 使用方法,我可以确保始终且最多有一个主地址.... 我希望(如果可能)阻止通过方法添加

  • 我的数据库(Postgres)中有以下表格:

  • 我正在尝试为实体创建一个域模型(聚合),该实体包含子实体,并且可以有父实体。我们有实体包。我们可以把包裹分成更小的包裹(儿童)。每个分开的包都有一个父包。域的哪个部分应该包含域逻辑:聚合还是域服务?e、 g.聚合包有一个方法 分包还是原包?解决这个问题的正确方法是什么? 我希望我的域模型被ddd(应用程序和基础设施)的其他部分保持干净和幂等

  • 本文向大家介绍如何使Java ArrayList只读?,包括了如何使Java ArrayList只读?的使用技巧和注意事项,需要的朋友参考一下 您可以使用Collections接口的unmodifiableList()方法使集合不可修改。 示例 输出结果

  • 我想使用Spring Boot和JPA将GeoJSON保存到数据库 JSON对象示例: 我试图使用@ElementCollection和@Embedded配置实体。 GeoJson实体: 特点: 属性: 几何: 坐标: 此配置出现错误: 调用init方法失败;嵌套的异常是javax。坚持不懈PersistenceException:[PersistenceUnit:default]无法构建Hibe