hibernate相关内容

配置休眠(使用 JPA)以存储类型 Boolean 而不是 0/1 的 Y/N

我可以设置 JPA/hibernate 以将 Boolean 类型保存为 Y/N 吗?在数据库中(列被定义为varchar2(1).它目前将它们存储为0/1.数据库是Oracle. 解决方案 我想出的唯一方法是为我的班级设置两个属性.一个作为未包含在映射中的编程 API 的布尔值.它的 getter 和 setter 引用了一个私有的 char 变量,它是 Y/N.然后我有另一个受保护的属 ..
发布时间:2021-11-25 21:14:18 Java Web开发

Hibernate Union 替代方案

使用休眠实现联合查询有哪些替代方法?我知道 hibernate 目前不支持联合查询,现在我看到的唯一方法是使用视图表. 另一种选择是使用普通的 jdbc,但这样我会丢失所有示例/标准查询的好处,以及 hibernate 对表/列执行的 hibernate 映射验证. 解决方案 使用 VIEW.可以使用实体名称将相同的类映射到不同的表/视图,因此您甚至不会有太多重复.在那里,这样做,工 ..
发布时间:2021-11-25 21:12:22 Java Web开发

单向和双向 JPA 和 Hibernate 关联有什么区别?

单向和双向关联有什么区别? 由于db中生成的表都是一样的,所以我发现唯一的区别是双向关联的每一侧都会有一个对另一侧的引用,而单向没有. 这是一个单向关联 公共类用户{私有整数 ID;私人字符串名称;@ManyToOne@加入列(名称 = "groupId")私人团体;}公共类组{私有整数 ID;私人字符串名称;} 双向关联 公共类用户{私有整数 ID;私人字符串名称;@ManyT ..
发布时间:2021-11-25 20:59:59 Java Web开发

JPA 和 Hibernate - 标准与 JPQL 或 HQL

使用的优缺点是什么标准或HQL?Criteria API 是在 Hibernate 中表达查询的一种很好的面向对象的方式,但有时 Criteria Queries 比 HQL 更难理解/构建. 您什么时候使用 Criteria,什么时候使用 HQL?您更喜欢哪些用例?还是只是口味问题? 解决方案 对于动态查询,我最喜欢 Criteria Queries.例如,根据某些参数动态添加一些 ..
发布时间:2021-11-25 20:59:36 Java Web开发

如何从 Hibernate Criteria API 获取 SQL(*不* 用于日志记录)

有没有办法从 Hibernate Criteria 中获取(要生成的)SQL? 理想情况下,我会有类似的东西: Criteria 标准 = session.createCriteria(Operator.class);... 建立标准 .........然后做一些像......字符串 sql = 条件.toSql()(但这当然不存在) 然后想法是使用 SQL 作为巨大的“减"查询的一部分 ..
发布时间:2021-11-25 20:25:35 Java Web开发

休眠自动增量 ID

我有一个使用带有注释的休眠的 j2ee 应用程序.如何在我的 pojo 类中注释 Id 字段以将其设置为自动增量或自动生成.在添加 bean 时,我是否将该字段留在我的 bean 中? 解决方案 @Id@GeneratedValue(策略=GenerationType.AUTO)私有整数 ID; 并且在持久化时将其保留为 null (0).(null 如果您使用 Integer/Long ..
发布时间:2021-11-25 19:57:52 Java Web开发

如何生成JPA实体元模型?

本着与 CriteriaQuery JPA 2.0 还有一个 API 来支持 Metamodel 实体的表示. 有没有人知道这个 API 的全功能实现(生成元模型而不是手动创建元模型类)?如果有人也知道在 Eclipse 中设置它的步骤,那就太棒了(我认为它就像设置注释处理器一样简单,但你永远不知道). 编辑:刚刚偶然发现 Hibernate JPA 2 Metamodel Gener ..
发布时间:2021-11-25 19:44:54 Java Web开发

FetchMode 在 Spring Data JPA 中是如何工作的

我的项目中的三个模型对象之间确实存在关系(文章末尾的模型和存储库片段. 当我调用 PlaceRepository.findById 时,它会触发三个选择查询: ("sql") SELECT * FROM place p where id = arg SELECT * FROM user u where u.id = place.user.id SELECT * FROM ci ..
发布时间:2021-11-25 19:43:00 Java Web开发

为什么我需要 Hibernate 中的事务进行只读操作?

为什么我需要 Hibernate 中的事务来进行只读操作? 以下事务是否在数据库中加锁? 从数据库获取的示例代码: Transaction tx = HibernateUtil.getCurrentSession().beginTransaction();//为什么开始交易?//这里是只读操作tx.commit()//为什么是 tx.commit?我不想写任何东西 我可以使用 se ..
发布时间:2021-11-25 19:42:53 Java Web开发

休眠,@SequenceGenerator 和 allocationSize

我们都知道使用 @SequenceGenerator 时 Hibernate 的默认行为 - 它将实际数据库序列增加 1,将此值乘以 50(默认 allocationSize value) - 然后将此值用作实体 ID. 这是不正确的行为并且与规范相冲突,其中说:> allocationSize - (可选)从序列中分配序列号时要增加的数量. 需要明确的是:我不关心生成的 ID 之间 ..
发布时间:2021-11-25 19:41:23 Java Web开发

使用 Hibernate 和 MySQL 创建时间戳和上次更新时间戳

对于某个 Hibernate 实体,我们需要存储其创建时间和上次更新时间.你会如何设计这个? 您将在数据库中使用哪些数据类型(假设使用 MySQL,可能与 JVM 处于不同的时区)?数据类型会识别时区吗? 您会在 Java 中使用哪些数据类型(Date、Calendar、long、...)? 您会让谁负责设置时间戳——数据库、ORM 框架(Hibernate)或应用程序程序员? ..
发布时间:2021-11-25 19:34:31 Java Web开发

Spring Boot - Hibernate SessionFactory 的句柄

有谁知道如何获取Spring Boot创建的Hibernate SessionFactory的句柄? 解决方案 您可以通过以下方式实现: SessionFactory sessionFactory =entityManagerFactory.unwrap(SessionFactory.class); 其中 entityManagerFactory 是 JPA EntityManager ..
发布时间:2021-11-25 19:14:19 Java Web开发

如何删除 JPA 中具有 ManyToMany 关系的实体(以及相应的连接表行)?

假设我有两个实体:组和用户.每个用户可以是多个组的成员,每个组可以有多个用户. @Entity公共类用户{@ManyToMany设置团体;//...}@实体公共类组{@ManyToMany(mappedBy="groups")设置用户;//...} 现在我想删除一个群组(假设它有很多成员). 问题是,当我在某个组上调用 EntityManager.remove() 时,JPA 提供 ..
发布时间:2021-11-25 19:07:11 Java Web开发

在 Hibernate 中重新附加分离对象的正确方法是什么?

我有一种情况,我需要将分离的对象重新附加到休眠会话,尽管会话中可能已经存在相同身份的对象,这会导致错误. 现在,我可以做两件事之一. getHibernateTemplate().update(obj)当且仅当休眠会话中不存在对象时,这才有效.当我稍后需要时,会抛出异常,说明具有给定标识符的对象已存在于会话中. getHibernateTemplate().merge(obj)当 ..
发布时间:2021-11-25 19:04:33 Java Web开发