ORM模式教程

     

使用 jOOQ 连接两个表

21 10K

jOOQ(Java 面向对象查询)是一个功能强大的库,它使我们能够以面向对象的方式编写 SQL 查询,从而简化了 Java 中的数据库交互。连接表是关系数据库中的基本操作,允许我们根据特定条件组合多个.

Hibernate中@Struct注解类型

29 5K

在本教程中,我们将回顾 Hibernate 的@Struct注释,它允许开发人员创建结构化的用户定义类型。 Hibernate 允许您通过@Struct注释类型为使用@Embeddable注释或@Em.

如何为ORM胖领模型减肥?

37 7K

ORM 以及保存数据的方式可以显着影响您的设计并导致胖域模型。数据很重要,但捕获数据的方式可能会引导您走上一条需要意识到您所做的妥协的道路。我将展示一个示例,说明并非所有数据都是平等创建的。当您考虑一.

Rust中两种ORM框架SeaORM与Diesel比较

456 9K

在本文中,我们将讨论 Rust ORM 并比较您目前可以在应用程序中使用的最流行的 Rust ORM:SeaORM与Diesel。什么是 ORM?关系对象映射器(简称 ORM)是一款软件,旨在通过让您.

Java中对象水合Hydrate是什么?

92 2K

Java 中的对象是使用new关键字创建的类的实例。对象是程序的构建块,对象与其他对象交互以实现所需的功能。 对象通常意味着在面向对象的编程范式中表示现实世界的实体,因此,对象具有多个关联的属性。这些.

OODBMS 和 ORDBMS 有什么区别?

142 2K

OODBMS是面向对象的数据库管理系统英文缩写词,ORDBMS是对象关系数据库管理系统简称 。前者是纯面向对象数据库,后者是对象与关系映射的数据库。1、OODBMSOODBMS也是一个数据库管理系统,.

您的数据库技能并不“值得拥有”?

361 5K

2006 年,《纽约杂志》数字团队开始为其时装周门户网站打造全新的搜索体验。这是一个甚至没有与技术团队讨论过技术可行性的项目,这在当时很常见。敏捷技术尚属新生事物,更不用说在出版业了。这只是一个愿景,.

领域模型优先于数据库表

385 2 5K
由 Mark Seemann 发布:在讨论数据库,特别是 ORM 时,有些人会不言而喻地假设关系数据库是存储数据的唯一选择。许多程序员在关系数据设计方面非常熟练,他们在思考新问题时自然会使用这些技能。.

静态类型很有用,但也有局限性

108

在代码库内部,静态类型系统可以是一个强大的工具。良好的类型系统使编译器能够检查代码的各个部分是否看起来内部一致: 您是否使用正确的参数调用过程? 您是否实现了接口定义的所有方法? 您是否正确初始化了对.

Spring Data 中使用Record记录实现投影

195 1 4K

Java 16 中引入的 Java Records 允许轻松定义透明数据载体。对于维护依赖于 JPA 、Spring Data的应用程序的开发人员来说,Records 可能是使用数据库投影的绝佳选择。.

使用数据库实现状态机

257 10K

大多数人都熟悉状态机,也知道状态机的价值。一般的状态机库可以帮助你建立状态模型,防止无效转换,并生成图表,帮助非技术人员也能理解代码是如何运行的。这篇文章并不是要论证状态机。而是如何利用状态机的概念,.

Spring Data JDBC 3.2.0-M2:使用单个select语句加载任意聚合

351 1 5K

从 Spring Data JDBC 3.2.0-M2 开始,Spring Data JDBC 支持单查询加载。单查询加载可通过单个选择语句加载任意聚合。要启用单查询加载,需要在 Relational.

rem:复古的Golang ORM

399 5K

rem是Retro Entity Mapper三个字母简写。一种新的Golang ORM。特点: PostgreSQL 和 MySQL 方言。SQLite 即将推出。 使用相同模型语法的数据和架构迁移.

JDBC、JOOQ 与 Hibernate 三者如何选择?

400

 Java持久层目前有以下几种选择: 普通的老式 JDBC:手动编写 SQL 查询,手动解析结果 Hibernate / JPA / ORM++:编写自动转换为 SQL 查询的 Java 代码,自动将.

Go中操作数据库的5种方法

429 11K

如果您的应用程序是一顿饭,那么数据库模型就像一种乏味的碳水化合物,可以填饱您的肚子,但永远不会满足。因此,Go 拥有如此多的工具来完成这项工作也就不足为奇了。有选择固然很好,但选择太多,可能会让人不知.

JPA 和 Hibernate 注释说明列表

423

下面列出了 JPA(Java Persistence API)和 Hibernate 中常用的注释。JPA 注释 @Entity:指定类是一个实体,并映射到数据库表。  @Table:指定与实体关联的.

ORM 仍然是一种反模式吗?

617 8K

ORM是软件作者们喜欢挑剔的东西之一。网上有许多文章都是以同样的调子进行的:"ORMs是一种反模式。它们是初创公司的玩具,但最终伤害多于帮助"。这是个夸张的说法。ORMs并不坏。它们是完美的吗?肯定不.

Apache Empire-db:实现Java完全SQL自由

1081 1 2K

Apache Empire-db 让您可以不受限制地使用 Java 中的关系型 DBMS,从而释放数据库系统的全部功能。忘掉 OR-Mapping、Entity Beans、Lazy vs Eager.

架构陷阱:不要任何事情都使用 ORM 实体

1431 2 3K

在用JPA/Hibernate设计应用程序时,我遇到了一种常见的模式,即建议开发者通过持久化实体和ORM来尽可能多地引导他们与数据库的交互,不惜一切代价避免编写SQL。这似乎主要是源于一种信念,即这种.

ent - 一个强大的Go语言实体框架

2840

ent是一个简单而又功能强大的Go语言实体框架,ent易于构建和维护应用程序与大数据模型。 图就是代码 - 将任何数据库表建模为Go对象。 轻松地遍历任何图形 - 可以轻松地运行查询、聚合和遍历任何图.

Rust与SQL手工映射以及特殊枚举处理方法

1617 7K

使用的库tokio-postgres为特征提供了一些基本实现,可用于将应用程序类型转换为 SQL 类型,反之亦然。例如,有FromSQL,它会自动将 Rust 原语转换为 PosgreSQL 类型:b.

在Java中使用哪个ORM框架? - Reddit

1510

1、 JPA API,  Hibernate的实现,最受欢迎和足够好。2、JdbcTemplate - 虽然不是真正的 ORM,但您必须自己编写所有查询 + 自己进行映射。我认为最好的选择,因为如果你.

jSQL-Gen: Java SQL 代码生成器

1564

Java SQL 代码生成器,SQL 和 OOP 终于联合起来了。特点: 没有运行时开销(与其他 ORM 不同)。 为每个表生成一个类/对象。 生成的对象包含get() delete() update.

Rust中ORM框架选择? - Reddit

7085

1、 我曾经使用过Diesel、SQLx和Cornucopia https://github.com/LouisGariepy/cornucopia。当SQLx出现的时候,我立即抛弃了Diesel,仅.

为何数据库优先ORM模型在Go社区受到欢迎? - Reddit

1175 2 2K

数据库优先ORM模型(db first ORM)的定义:根据数据库自动生成代码,而不是根据代码生成数据库表,如 sqlc、sqlBoiler;另外一种ORM模型是:根据代码自动生成数据库表,这种称为代.

sproket/Persism:Java低代码的ORM框架

1177 6K

Persism 是一个用于 Java 17 或更高版本的简单、自动发现、自动配置和约定优于配置的 ORM(对象关系映射)库。Persism的API很小。大多数情况下,你只需要一个Connection和.

SpringBootHibernateJPA: Spring Boot+ JPA信息系统案例源码

614 1

ORM(对象关系映射):ORM是一种编程技术,允许我们的模型类与关系数据库中的表相匹配。它可以被认为是应用程序和关系型数据库之间的桥梁。JPA(Java Persistence API):JPA是一个.

Yorm:一个基于Java Record的简单ORM框架

1748 2K

Yorm是一个基本的类似ORM的框架,能与Java Record一起工作。特点: 不需要生成类 不需要添加注解 不需要为基本操作编写SQL 与API REST和CRUD操作无缝衔接 在微服务的世界里,.

DoytoQuery:用于CRUD的Java第二代ORM框架

1046

将 SQL 语句映射到对象以进行数据库访问操作: 从 Query 对象和 Entity 对象构建 CRUD SQL。 从 Query 对象和 View 对象构建的复杂查询 SQL。 将查询字段映射到查.

riok/mapperly: 类似MapStruct的.NET对象映射生成器

1404

Mapperly 是一个用于生成对象映射的 .NET 源代码生成器。灵感来自 MapStruct。因为 Mapperly 在构建时创建映射代码,所以运行时的开销最小。更好的是,生成的代码完全可读,让您.