EbpEnterprise 企业基础表: 一端
EbpEnterpriselanguage企业信息表: 多端
这两个表之间是 一对多的关系。
EbpEnterprise : 部分代码:
@CollectionOfElements(fetch = FetchType.EAGER)
@JoinTable(
name = "ebp_enterpriselanguage",
joinColumns = { @JoinColumn(name = "enterprise_id", referencedColumnName = "id") })
@IndexColumn(name = "idx")
public Set<EbpEnterpriselanguage> getEels() {
return eels;
}
public void setEels(Set<EbpEnterpriselanguage> eels) {
this.eels = eels;
}
这里配置一个一对多的关系。
EbpEnterpriselanguage : 部分代码 。
@Embeddable
public class EbpEnterpriselanguage{
private java.lang.String locale;
private java.lang.String artificialPerson;
private java.lang.String name;
private java.lang.String forShort;
private java.lang.String profile;
private java.lang.String profileOutline;
private java.lang.String scope;
private java.lang.String address;
private java.lang.String contactPerson;
public EbpEnterpriselanguage(){
}
@Column(name = "locale", unique = false, nullable = false, insertable = true, updatable = true, length = 10)
public java.lang.String getLocale() {
return this.locale;
}
public void setLocale(java.lang.String value) {
this.locale = value;
}
@Column(name = "artificial_person", unique = false, nullable = true, insertable = true, updatable = true, length = 300)
public java.lang.String getArtificialPerson() {
return this.artificialPerson;
}
问题是 : 我在对 EbpEnterprise(一端) 进行查询的时候(任何查询操作) 都会在 EbpEnterpriselanguage 里面执行 一条删除语句 和成 平房增长的 Insert 语句 ,导致的结果是 EbpEnterpriselanguage 表里多了好多重复的记录, 而且越查越多 。
产生这样的原因是什么 , 解决方法是 什么 。 有什么办法可以不 执行 Delete和Insert 语句哪 ?
分享到:
相关推荐
MyBatis提供了简单易用的API来实现数据库操作,例如select、insert、update、delete等。MyBatis还提供了动态SQL语句生成机制,例如使用#{name}占位符来动态生成SQL语句。 Hibernate提供了强大的一致性持久层框架,...
- 一对一、一对多、多对一、多对多关联映射的配置和实现,包括集合类型如List、Set、Map的使用。 -懒加载和立即加载策略,以及如何优化关联加载性能。 4. **AJAX插件应用**: - AJAX基础:理解异步JavaScript和...
本文将详细讲解如何使用Hibernate来编写通用的数据库操作代码,包括插入(insert)、删除(delete)、更新(update)以及查询(select)方法。 1. 插入数据(insert) 插入数据的方法是通过调用`session.save()`...
它支持结果集映射,包括一对一、一对多等关联关系。 ```java NativeQuery nativeQuery = session.createNativeQuery("from User", User.class); List<User> users = nativeQuery.list(); ``` 5. **通过`...
在本教程中,我们将深入探讨如何在Spring Boot项目中整合MyBatis和Hibernate这两个流行的ORM框架。Spring Boot因其简化配置和快速开发的能力而备受青睐,而MyBatis和Hibernate则是Java世界里常用的持久层解决方案。...
在IT行业中,Hibernate是一个非常...实际项目中,还可能涉及到事务管理、缓存机制、多对一、一对多等复杂关系映射,以及性能优化等方面的知识。通过不断的实践和学习,你将能够熟练运用Hibernate进行高效的数据访问。
通过这些标签,可以创建复杂的映射关系,如一对一、一对多、多对多等。 在一对一映射中,可以通过标签来实现,主键关联映射可以是单向的也可以是双向的,还可以通过唯一外键关联来实现映射。在映射文件中,可以通过...
- 如果数据库表之间存在关联,则需要在映射文件中定义这些关系,例如一对一、一对多或多对多等。 - **2.3.6 自动生成结束** - 完成以上配置后,Myeclipse会自动生成相应的POJO类和XML映射文件。 #### 三、使用...
在这个小例子中,我们将探讨如何设置和使用Hibernate进行基本的数据库操作:增加(Insert)、删除(Delete)、修改(Update)和查询(Select)。 首先,我们需要了解Hibernate的核心概念。Hibernate通过XML配置文件...
`many-to-one`节点表示多对一的关系,通常涉及外键引用。 #### 8. 多对多关联 `many-to-many`节点处理多对多的复杂关联,可能需要额外的关联表。 通过以上详尽的解释,可以看出Hibernate映射配置的强大和灵活性,...
13. HQL与JPQL章节,详细说明了Hibernate查询语言(HQL)和Java持久化查询语言(JPQL)的语法、大小写敏感性、不同类型的语句(Select、Update、Delete、Insert)以及FROM子句的各种用法。还包括表达式的讲解,例如...
单表操作包括增加(Insert)、删除(Delete)、修改(Update)和查询(Select)。在Hibernate中,这些操作可以通过Session的对应方法完成,例如`save()`、`delete()`、`update()`和`load()`/`get()`。对于查询,还...
16.4 多对一和一对一关联的检索策略 16.4.1 迫切左外连接检索(fetch属性为“join”) 16.4.2 延迟检索(lazy属性为默认值“proxy”) 16.4.3 无代理延迟检索(lazy属性为“no-proxy”) 16.4.4 立即检索...
在IT行业中,Spring和Hibernate是两个非常重要的框架,Spring是一个全面的后端开发框架,而Hibernate则是一个对象关系映射(ORM)工具,主要用于数据库操作。当我们将它们整合在一起时,可以实现强大的数据访问能力...
例如,它们可能包括了保存(insert)、更新(update)、删除(delete)和查询(select)数据的方法,这些方法可能是基于JdbcTemplate或者HibernateTemplate实现的。 JdbcTemplate是Spring提供的一个数据库访问组件...
是一个基于Hibernate框架的Web应用程序,旨在帮助开发者通过实际操作来理解和掌握Hibernate在数据库操作中的基本功能,包括插入(Insert)、删除(Delete)、更新(Update)和查询(Select)数据。Hibernate是Java...
在 Hibernate 中,为了将 Java 对象映射到数据库表,并实现对象关系映射(ORM),开发者需要定义一系列配置属性来指导 Hibernate 如何进行转换。本文将详细解析 `hibernate-mapping` 文件中的各种关键配置项及其含义...
#### 一、Hibernate 概述与配置 Hibernate 是一个全功能的 ORM(对象关系映射)框架,用于 Java 应用程序与数据库进行交互。它提供了一个高度抽象的层,将面向对象的 Java 对象模型转换为关系型数据库中的表。在 ...
说明了Hibernate查询语言(HQL)和Java持久化查询语言(JPQL)的使用,包括大小写敏感性,语句类型(Select,Update,Delete,Insert),FROM子句的使用,以及如何在查询中使用表达式。 以上内容是Hibernate5用户...
在上述代码中,我们看到了四个核心的 Hibernate 操作:插入(insert)、删除(delete)、更新(update)以及查询(select),这些都是在数据库操作中非常基础且重要的功能。 1. **插入(insert)**: `insert` ...