中国各大网站软件营销网站建设

web/2025/10/9 7:59:55/文章来源:
中国各大网站,软件营销网站建设,中国风网站表现,动漫设计专业哪个学校比较好jpa语法错误根据我在帮助团队和进行培训方面的经验#xff0c;这是我遇到的一些陷阱/错误#xff0c;它们在使用JPA的基于Java的系统中引起了一些问题。 需要一个公共的无参数构造函数 始终使用双向关联/关系 将OneToMany用于可能庞大的集合 需要一个公共的无参数构造函数… jpa语法错误 根据我在帮助团队和进行培训方面的经验这是我遇到的一些陷阱/错误它们在使用JPA的基于Java的系统中引起了一些问题。 需要一个公共的无参数构造函数 始终使用双向关联/关系 将OneToMany用于可能庞大的集合 需要一个公共的无参数构造函数 是的JPA Entity需要零参数或默认的无参数构造函数。 但这可以得到protected 。 您不必将其public 。 这样就可以实现更好的面向对象的建模因为您不必强制使用可公开访问的零参数构造函数。 实体类必须具有无参数构造函数。 实体类也可以具有其他构造函数。 no-arg构造函数必须是public 或protected 。 [强调我的] –摘自Java Persistence API 2.1规范Oracle的2.1节 如果要建模的实体在创建时有一些字段需要初始化则应通过其构造函数来完成。 注意一些JPA提供程序可以通过在构建时添加一个无参数的构造函数来克服缺失的无参数构造函数。 假设我们正在建模酒店房间预订系统。 在其中我们可能有诸如房间预订等之类的实体。预订实体可能需要开始日期和结束日期因为没有停留时间来创建一个预订实体就没有多大意义。 在保留的构造函数中将开始日期和结束日期作为参数包括在内将可以提供更好的模型。 保留受保护的零参数构造函数会使JPA满意。 Entity public class Reservation { ...public Reservation(RoomType roomType, DateRange startAndEndDates) {if (roomType null || startAndEndDates null) {throw new IllegalArgumentException(...);} ...}...protected Reservation() { /* as required by ORM/JPA */ } } 注意 HibernateJPA提供程序允许将零参数构造函数设为私有。 这使您的JPA代码不可移植到其他JPA提供程序。 它还有助于在零参数构造函数中添加注释以表明它是出于JPA目的技术基础结构而添加的并且不是域所必需的业务规则/逻辑。 尽管我在JPA 2.1规范中找不到它但可嵌入类也需要一个默认无参数构造函数。 就像实体一样可以将必需的无参数构造函数设为protected 。 Embeddable public class DateRange { ...public DateRange(Date start, Date end) {if (start null || end null) {throw new IllegalArgumentException(...);}if (start.after(end)) {throw new IllegalArgumentException(...);} ...}...protected DateRange() { /* as required by ORM/JPA */ } } DDD示例项目还通过将no-arg构造函数设置为包范围来隐藏no-arg构造函数请参阅Cargo实体类其中no-arg构造函数位于底部附近。 始终使用双向关联/关系 JPA上的教学材料通常显示出双向关联。 但这不是必需的。 例如假设我们有一个包含一个或多个项目的订单实体。 Entity public class Order {Id private Long id;OneToMany private ListOrderItem items;... }Entity public class OrderItem {Id private Long id;ManyToOne private Order order;... } 很高兴知道JPA支持双向关联。 但是实际上这成为维护的噩梦。 如果订单项不必知道其父订单对象则单向关联就足够了如下所示。 ORM只需要知道如何命名多边表中的外键列。 通过在关联的一侧添加JoinColumn批注来提供此功能。 Entity public class Order {Id Long id;OneToManyJoinColumn(nameorder_id, ...)private ListOrderItem items;... }Entity public class OrderItem {Id private Long id;// ManyToOne private Order order;... } 由于OrderItem不再需要保留对Order实体的引用因此使其变得单向变得更容易。 请注意有时可能需要双向关联。 实际上这种情况很少见。 这是另一个例子。 假设您有几个引用国家/地区实体的实体例如人的出生地邮寄地址等。 显然这些实体将引用国家实体。 但是国家是否必须引用所有这些不同的实体 很有可能不是。 Entity public class Person {Id Long id;ManyToOne private Country countryOfBirth;... }Entity public class PostalAddress {Id private Long id;ManyToOne private Country country;... }Entity public class Country {Id ...;// OneToMany private ListPerson persons;// OneToMany private ListPostalAddress addresses; } 所以仅仅因为JPA支持双向关联 并不意味着你必须 使用 假设您正在建模银行帐户及其交易。 随着时间的流逝一个帐户可以进行数千甚至数百万笔交易。 Entity public class Account {Id Long id;OneToManyJoinColumn(nameaccount_id, ...)private ListAccountTransaction transactions;... }Entity public class AccountTransaction {Id Long id;... } 对于只有少量交易的帐户似乎没有任何问题。 但是随着时间的流逝当一个帐户包含成千上万个如果不是上百万个交易时您很可能会遇到内存不足的错误。 那么有什么更好的映射方法呢 如果不能确保关联的多面中的最大元素数都可以全部加载到内存中则最好在ManyToOne的另一侧使用ManyToOne 。 Entity public class Account {Id Long id;// OneToMany private ListAccountTransaction transactions;... }Entity public class AccountTransaction {Id Long id;ManyToOneprivate Account account;...public AccountTransaction(Account account, ...) {...}protected AccountTransaction() { /* as required by ORM/JPA */ } } 要检索一个帐户可能数千如果不是几百万的交易请使用支持分页的存储库。 Transactional public interface AccountTransactionRepository {PageAccountTransaction findByAccount(Long accountId, int offset, int pageSize);... } 要支持分页请使用Query对象的setFirstResult(int)和setMaxResults(int)方法。 摘要 我希望这些说明可以帮助开发人员避免犯这些错误。 总结一下 要求公众。 JPA要求的无参数构造函数可以设为public或protected 。 如果需要可以考虑对其进行protected 。 一直使用 考虑单向而不是双向关联/关系。 使用 避免使用OneToMany收集可能庞大的集合。 考虑ManyToOne映射关联/关系的ManyToOne端并支持分页。 翻译自: https://www.javacodegeeks.com/2016/02/jpa-pitfalls-mistakes.htmljpa语法错误

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/89519.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站优化注意事项广州免费孕检

在面向对象的软件开发中,中介者模式是一种重要的行为型设计模式,用于降低多个对象间通信的复杂性。通过提供一个中心化的对象来处理不同组件之间的交互,中介者模式使得组件间不必显式引用彼此,从而使其松散耦合、更易于维护。本文…

连云港网站建设的公司匠王红木在那个网站做众筹

目录 前言: 什么是React路由? 导航和页面切换 路由参数和动态路由 路由守卫和权限控制 总结 前言: React是一个流行的JavaScript库,用于构建用户界面。在使用React开发Web应用程序时,路由和导航是必不可少的功能…

建国内外网站有什么区别促销活动推广文案

深度聚类不仅继承了传统聚类算法的优点,在对高维和非线性数据的处理能力,以及自适应性和抗噪性方面也具有很大优势。 具体来说,结合深度学习的聚类算法通过利用深度神经网络的强大特征提取能力,自动学习和识别数据中的复杂结构和…

网站换域名怎么做公司网站建设企划书

1、理解使用对象完成数据组织的思路 1.1类和对象的基本理解 理解类:从现实世界到编程世界 类由三个部分组成:类名、类的属性、类的方法。类的定义实际上是描述事物的一种方法,在现实世界中,事物都是有属性和行为的。通过类&…

招代理商的网站农业生态园电商网站建设

在我的上一篇文章中: JPA –基本投影 –我已经提到了构建JPA投影的两种基本可能性。 这篇文章为您带来了更多示例,这次基于Querydsl框架。 注意,这里我指的是Querydsl版本3.1.1。 重塑构造函数表达式 看下面的代码: ... import …

用个人的信息备案网站淘宝关键词怎么选取

1. 数组名作为指针 int arr[5] {0,1,2,3,4}; int*ptr arr; 2. 取地址 int* ptr &arr[3]; 3.指针算数运算 int* ptr arr; int* p *(arr1);

网站页面优化包括新网站建设咨询

流程控制 分支 循环语句     if...else...     if...else if...else switch(值0) { ------------值0是什么类型, case后面的值就要是什么类型       case 值1:         执行语句         break;       case 值1:         …

网站icp备案需要多久服务公司小说

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:就业…

做我女朋友的表白句的网站宁波网站建设企业网站制作

微信获取公众号授权失败 :ssl connect error 本人用的是微擎,也是刚入手,碰到这个问题感觉很棘手。 通过一步步调试发现问题出在curl 认证这里,得到结果错误代码:35,错误信息就是:ssl connect …

做执法设备有哪些网站进出口贸易公司

目录 1. 通过netstat来分析服务器和客户端的TCP状态 2.通过tcpdump抓包分析服务器和客户端的TCP状态 2.1 语法

一站式做网站服务品牌网站建设推荐乐云seo

如果您曾经编写过测试数据库交互的代码,例如数据访问对象,那么您很可能遇到了测试中最长期的烦恼之一:为了准确地测试这些交互,需要一个数据库。 为了本文的方便,让我们考虑一个将PostgreSQL用作其环境的一部分的应用…

专业的手机价格网站建设wordpress 学习视频

文章目录 目录 文章目录 前言 一.变量 概述 定义 自定义变量 环境变量 概述: 定义环境变量: 位置变量 "$*"会把所有位置参数当成一个整体(或者说当成一个单词 变量的赋值和作用域 read 命令 变量和引号 变量的作用域 变…

网页设计作业视频网站如何免费建一个网站

思维导图文章已收录Github精选,欢迎Star:https://github.com/yehongzhi/learningSummary悲观锁悲观锁是平时开发中经常用到的一种锁,比如ReentrantLock和synchronized等就是这种思想的体现,它总是假设别的线程在拿线程的时候都会修…

wordpress做管理网站建设网站坪山

我这几天一直在看C#的书,知道了委托是怎么回事,但我一直不能理解这个委托是用在什么地方,有什么好处,请高手指点。 转载于:https://www.cnblogs.com/yjlft/archive/2006/04/03/365443.html

网站开发合作运营平台合同郑州定制网站推广工具产品

来源: 网易智能美国当地时间5月7日,硅谷无人车创业公司 Drive.ai 宣布将于2018年7月在德克萨斯州弗里斯科市提供自动驾驶汽车服务。这或许会成为美国第一个真正落地的自动驾驶汽车载人服务,也标志着公众第一次有机会在公共道路上使用按需定制…

建网站入门福建国通星驿网络科技有限公司

在数字化时代,电子元器件商城可以通过以下方式进行模式创新: 智能化搜索与推荐: 引入人工智能和机器学习技术,提供智能化搜索和个性化推荐功能,根据客户的需求和历史购买记录推荐相关的电子元器件,以提高购…

手机网站图片宽度有哪些网站可以兼职做笔译

目录 1.分支管理策略 2.我用的分支管理策略 3.一些常见问题 1.分支管理策略 分支管理策略就是一些经过实践后总结出来的可靠的分支管理的办法,让分支之间能科学合理、高效的进行协作,帮助我们在整个开发流程中合理的管理好代码版本。 目前有两套Git…

一个空间怎么放两个网站吗建设项目银行网站

背景: 在了解免费SSL证书和付费SSL证书的区别之前,先带大家了解一下SSL证书的概念和作用。 SSL证书的概念: SSL证书就是基于http超文本传输协议的延伸,在http访问的基础上增加了一个文本传输加密的协议,由于http是明…

建网站需要什么人常德小程序开发公司

文章目录 一、前言二、代码详解2.1、新起航迹2.2、预测2.3、匹配2.4、结果发布2.5、总结 三、流程图四、部署 一、前言 论文地址:https://arxiv.org/pdf/2110.06864.pdf git地址:https://github.com/ifzhang/ByteTrack ByteTrack 在是在 2021 年 10 月…

网站开发建设中企动力科技集团有限公司

🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于LayUi的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.选项卡是什么 二.选项卡在什么时候使用…