Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA如何延迟加载集合?_Java_Spring_Hibernate_Maven_Jpa - Fatal编程技术网

Java JPA如何延迟加载集合?

Java JPA如何延迟加载集合?,java,spring,hibernate,maven,jpa,Java,Spring,Hibernate,Maven,Jpa,请建议如何惰性加载映射“Groupunit\u from”?如何打开JPA会话和事务 @ElementCollection(targetClass=String.class,fetch=FetchType.LAZY) @CollectionTable(name="place_definer_groupunit_from",joinColumns=@JoinColumn(name="groupunit_from")) @MapKeyColumn(name="id") @M

请建议如何惰性加载映射“Groupunit\u from”?如何打开JPA会话和事务

 @ElementCollection(targetClass=String.class,fetch=FetchType.LAZY)
    @CollectionTable(name="place_definer_groupunit_from",joinColumns=@JoinColumn(name="groupunit_from"))
    @MapKeyColumn(name="id")
    @MapKeyClass(String.class)
    @Column(name="ordinal",nullable=false)
    private Map<String,String> Groupunit_from=new HashMap<>();//
@ElementCollection(targetClass=String.class,fetch=FetchType.LAZY)
@CollectionTable(name=“place\u definer\u groupunit\u from”,joinColumns=@JoinColumn(name=“groupunit\u from”))
@MapKeyColumn(name=“id”)
@MapKeyClass(String.class)
@列(name=“ordinal”,nullable=false)
私有映射Groupunit_from=new HashMap()//

默认情况下,集合是延迟加载的

您不必指定任何内容来延迟加载集合

在JPA中初始化会话和事务

EntityManagerFactory emf = Persistence.createEntityManagerFactory("PersistentUnitName");
EntityManager em = emf.createEntityManager();

// to begin a transaction
em.getTransaction().begin();

// here you can flush or persist

// to commit a transaction
em.getTransaction().commit();

默认情况下,集合是惰性加载的

您不必指定任何内容来延迟加载集合

在JPA中初始化会话和事务

EntityManagerFactory emf = Persistence.createEntityManagerFactory("PersistentUnitName");
EntityManager em = emf.createEntityManager();

// to begin a transaction
em.getTransaction().begin();

// here you can flush or persist

// to commit a transaction
em.getTransaction().commit();

您已经提到了“fetch=FetchType.LAZY”,所以jpa将延迟加载这些元素。如果您在调试时观察应用程序中触发的查询,您将观察到,当您在java代码中首次使用此映射时,将触发用于填充此映射的查询。

您已经提到“fetch=FetchType.LAZY”,因此jpa将延迟加载此元素。如果您在调试时观察应用程序中激发的查询,您将观察到,当您在java代码中首次使用此映射时,将激发用于填充此映射的查询。

谢谢您,先生,我知道我必须首先使用springboot创建“persistence.xml”文件,我必须把这个文件放在哪里?你说“你不必指定任何东西来延迟加载集合”。我使用JPA findOne/findAll来检索实体,但当我执行“getGroupunit_from”时,会出现错误消息“no session”。谢谢你,先生,我知道我必须首先使用springboot创建“persistence.xml”文件,我必须把这个文件放在哪里?你说“你不必指定任何东西来延迟加载集合”。我使用JPA findOne/findAll检索实体,但当我执行“getGroupunit_from”时,会出现错误消息“no session”。我知道,我使用JPA findOne/findAll检索实体,但当我执行“getGroupunit_from”时,有错误消息“no session”。我知道,我使用JPA findOne/findAll检索实体,但当我执行“getGroupunit_from”时,有错误消息“no session”。