程序员实体


import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;

@Entity
@Getter
@Setter
@Data

public class Programmer {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    private String name;
    private int salary;
    @ManyToMany(cascade = CascadeType.ALL,fetch = FetchType.EAGER)
    @JoinTable(name = "programmers_projects", 
    joinColumns = @JoinColumn(name = "programmer_id", referencedColumnName = "id"), 
    inverseJoinColumns = @JoinColumn(name = "project_id", referencedColumnName = "id"))
    private Set<Project> projects;
    @Override
    public String toString() {
        return "Programmer [id=" + id + ", name=" + name + ", salary=" + salary + "]";
    }
}

项目实体


import java.util.Set;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToMany;

import lombok.Data;
import lombok.Getter;
import lombok.Setter;


@Entity
@Getter
@Setter
@Data

public class Project {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;
    private String name;
    
    @ManyToMany(mappedBy = "projects")
    private Set<Programmer> programmers;
    @Override
    public String toString() {
        return "Project [id=" + id + ", name=" + name + "]";
    }

}

存储库


import org.springframework.data.repository.CrudRepository;

import com.springdata.associations.onetomay.entities.Programmer;

public interface ProgrammerRepo extends CrudRepository<Programmer, Integer> {

}

Junit 测试


    @Test
    
    public void loadMtoMProgrammers() {
        Programmer programmer = repos.findById(1).get();
        System.out.println(programmer);
        System.out.println(programmer.getProjects());
        
        } 

获取错误

Hibernate:选择programmer0_.id as id1_2_0_,programmer0_.name as name2_2_0_,programmer0_.salary assalary3_2_0_,projects1_.programmer_id as programm1_3_1_,project2_.id as project_2_3_1_,project2_.id as id1_2_3_1_,project2_.id as id1_2_2_2_0_outer Programmers_projects projects1_ onprogrammer0_.id=projects1_.programmer_id 左外加入 Project project2_ on projects1_.project_id=project2_.id whereprogrammer0_.id=? Hibernate:选择programmer0_.project_id as project_2_3_0_,programmer0_.programmer_id as programm1_3_0_,programmer1_.id as id1_2_1_,programmer1_.name as name2_2_1_,programmer1_.salary assalary3_2_1_ fromprogrammers_projectsprogrammer1_programmer1_programmer1_programmer=programmer1_programmer_interval project_id=? 2021-08-01 10:19:41.885 INFO 7828 --- [main] oheinternal.DefaultLoadEventListener:HHH000327:执行加载命令时出错

org.hibernate.HibernateException:集合在 org.hibernate.event.internal.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:43) ~[hibernate-core-5.4.32.Final.jar:5.4.32.Final] 被驱逐.hibernate.event.service.internal.EventListenerGroupImpl.fireEventOnEachListener(EventListenerGroupImpl.java:99) ~[hibernate-core-5.4.32.Final.jar:5.4.32.Final] 在 org.hibernate.internal.SessionImpl.initializeCollection( SessionImpl.java:2163) ~[hibernate-core-5.4.32.Final.jar:5.4.32.Final] 在 org.hibernate.collection.internal.AbstractPersistentCollection$4.doWork(AbstractPersistentCollection.java:589) ~[hibernate- core-5.4.32.Final.jar:5.4.32.Final] 在 org.hibernate.collection.internal.AbstractPersistentCollection.withTemporarySessionIfNeeded(AbstractPersistentCollection.java:264) ~[hibernate-core-5.4.32.Final.jar:5.5. .32.Final] 在 org.hibernate.collection.internal.AbstractPersistentCollection.initialize(AbstractPersistentCollection.ja va:585) ~[hibernate-core-5.4.32.Final.jar:5.4.32.Final] 在 org.hibernate.collection.internal.AbstractPersistentCollection.read(AbstractPersistentCollection.java:149) ~[hibernate-core-5.4 .32.Final.jar:5.4.32.Final] 在 org.hibernate.collection.internal.PersistentSet.hashCode(PersistentSet.java:458) ~[hibernate-core-5.4.32.Final.jar:5.4.32. Final] at com.springdata.associations.onetomay.entities.Programmer.hashCode(Programmer.java:22) ~[classes/:na] at java.base/java.util.HashMap.hash(HashMap.java:340) ~ [na:na] 在 java.base/java.util.HashMap.put(HashMap.java:612) ~[na:na] 在 java.base/java.util.HashSet.add(HashSet.java:221) ~ [无:无]

  ask by Yuvan Jagadeesan translate from so

本文未有回复,本站智能推荐:

1回复

org.hibernate.HibernateException:缺少表:全部

当我在Gradle帮助下运行项目时,出现异常: 这个项目在我同事的笔记本电脑上效果很好。 而且,此代码对我有用: 此代码中可能存在问题: PS我的操作系统是Windows7。我以管理权限启动IDE。 PSS所有表都存在。
1回复

spring-data-jpa :找到对集合 org.hibernate.HibernateException 的共享引用

我知道这个问题被多次询问和回答,并且还有一个解决方法 像在Found shared references to a collection org.hibernate.HibernateException http://www.java2s.com/Questions_And_Answers/JPA/
33回复

org.hibernate.HibernateException:未设置“hibernate.dialect”时,对 DialectResolutionInfo 的访问不能为空

我正在尝试运行一个通过 spring-jpa 使用休眠的 spring-boot 应用程序,但我收到此错误: 我的 pom.xml 文件是这样的: 我的休眠配置是(方言配置在这个类的最后一个方法中): 我在这里做错了什么?
1回复

JHipster Spring启动:org.hibernate.HibernateException:无法访问lob流

我使用JHipster创建了我的应用程序。 当我尝试通过TournamentQueryService获取比赛列表时,出现以下错误: TournamentQueryService.findByCriteria()中的异常,cause ='org.hibernate.HibernateE
12回复

找到对集合 org.hibernate.HibernateException 的共享引用

我收到此错误消息: 错误:找到对集合的共享引用:Person.relatedPersons 当我尝试执行addToRelatedPersons(anotherPerson) : 我的域名: 知道为什么会这样吗?
2回复

org.hibernate.HibernateException:collection与任何会话无关

我的一个朋友在开源软件OscarMcmaster遇到了一个奇怪的问题。 他让我帮忙,我能够解决造成问题的代码。 以下是一种方法: billingServiceDao由Spring容器初始化: 在BillingServiceDao类中执行以下代码: 罪魁祸首是query
1回复

org.hibernate.HibernateException错误

我不断得到这个错误...使用appach tomcat Eclips IDE 根本原因
2回复

引起:org.hibernate.HibernateException:找到对集合的共享引用

我正在运行此异常: 这是我的代码: Object.java ListedObject.java 请问有人帮我吗? 提前致谢! 编辑异常开始时的点: 这来自: 我真的不知道它是什么,但VFSproviders.xml在项目中,并且它包含: