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 语句哪 ?
分享到:
相关推荐
- 一对一、一对多、多对一、多对多关联映射的配置和实现,包括集合类型如List、Set、Map的使用。 -懒加载和立即加载策略,以及如何优化关联加载性能。 4. **AJAX插件应用**: - AJAX基础:理解异步JavaScript和...
本文将详细讲解如何使用Hibernate来编写通用的数据库操作代码,包括插入(insert)、删除(delete)、更新(update)以及查询(select)方法。 1. 插入数据(insert) 插入数据的方法是通过调用`session.save()`...
MyBatis提供了简单易用的API来实现数据库操作,例如select、insert、update、delete等。MyBatis还提供了动态SQL语句生成机制,例如使用#{name}占位符来动态生成SQL语句。 Hibernate提供了强大的一致性持久层框架,...
它支持结果集映射,包括一对一、一对多等关联关系。 ```java NativeQuery nativeQuery = session.createNativeQuery("from User", User.class); List<User> users = nativeQuery.list(); ``` 5. **通过`...
在IT行业中,Hibernate是一个非常...实际项目中,还可能涉及到事务管理、缓存机制、多对一、一对多等复杂关系映射,以及性能优化等方面的知识。通过不断的实践和学习,你将能够熟练运用Hibernate进行高效的数据访问。
在本教程中,我们将深入探讨如何在Spring Boot项目中整合MyBatis和Hibernate这两个流行的ORM框架。Spring Boot因其简化配置和快速开发的能力而备受青睐,而MyBatis和Hibernate则是Java世界里常用的持久层解决方案。...
在这个小例子中,我们将探讨如何设置和使用Hibernate进行基本的数据库操作:增加(Insert)、删除(Delete)、修改(Update)和查询(Select)。 首先,我们需要了解Hibernate的核心概念。Hibernate通过XML配置文件...
单表操作包括增加(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 操作:插入(insert)、删除(delete)、更新(update)以及查询(select),这些都是在数据库操作中非常基础且重要的功能。 1. **插入(insert)**: `insert` ...
4. Hibernate DAO:使用Hibernate API执行SQL操作,如保存(insert)、更新(update)、删除(delete)和查询(select)用户。 5. Spring管理:使用@Autowired注解自动注入Service和DAO,同时通过@Transactional注解...
增删查改,即添加(INSERT)、删除(DELETE)、查询(SELECT)和修改(UPDATE)操作,是任何数据库驱动应用的基础。通过Hibernate的ORM机制,开发者可以方便地实现这些操作,无需编写大量的SQL语句。例如,通过定义...
这种策略支持双向的一对多关联,但不支持 IDENTIFY 生成器策略,因为ID必须在多个表间共享。一旦使用就不能使用AUTO和IDENTIFY生成器。 每个类层次结构一张表 @Entity @Inheritance(strategy=InheritanceType....
在Java开发中,Hibernate是一个非常流行的持久化框架,它简化了数据库操作,使得开发者可以更加专注于业务逻辑而不是繁琐的数据访问代码。本篇将详细介绍如何使用Hibernate在Oracle数据库中实现数据的增删改查操作。...
- 拼装SQL:根据注解信息,构建符合数据库操作的SQL语句,如SELECT、INSERT、UPDATE或DELETE。 - 执行数据库操作:使用JDBC API或其他数据库连接库执行SQL语句。 在这个过程中,你还需要考虑一些实际问题,如事务...
Hibernate 是一个开源的对象关系映射(ORM)框架,它允许开发者将Java对象与数据库中的表进行映射,简化了数据库操作。通过使用Hibernate,开发者可以避免编写大量的SQL语句,提高开发效率,同时也使得代码更加可读...