相关疑难解决方法(0)

LazyInitializationException尝试获取懒惰的初始化实例

当我尝试获取懒惰的初始化实体时,我在IDE中看到以下异常消息(我无法找到它在代理实体中的存储位置,因此无法为该异常提供整个堆栈跟踪):

Method threw 'org.hibernate.LazyInitializationException' exception. Cannot evaluate com.epam.spring.core.domain.UserAccount_$$_jvste6b_4.toString()
Run Code Online (Sandbox Code Playgroud)

这是我尝试访问要使用的惰性初始化实体的字段后得到的堆栈跟踪:

org.hibernate.LazyInitializationException: could not initialize proxy - no Session

    at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:165)

    at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:286)

    at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:185)

    at com.epam.spring.core.domain.UserAccount_$$_jvstfc9_4.getMoney(UserAccount_$$_jvstfc9_4.java)

    at com.epam.spring.core.web.rest.controller.BookingController.refill(BookingController.java:128) 
Run Code Online (Sandbox Code Playgroud)

我正在使用Spring Data,已配置JpaTransactionManager,数据库是MySql,ORM提供程序是Hibernate4。注释@EnableTransactionManagement处于启用状态,@ Transactional随处可见,但无济于事。

这是一个关系:

@Entity
public class User extends DomainObject implements Serializable {

    ..

    @OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
    @JoinColumn(name = "user_fk")
    private UserAccount userAccount;

    ..

@Entity
public class UserAccount extends DomainObject {

    ..

    @OneToOne(mappedBy = "userAccount")
    private User user;

    ..
Run Code Online (Sandbox Code Playgroud)

..一个配置:

    @Bean
    public DataSource dataSource() {
        DriverManagerDataSource dataSource = new DriverManagerDataSource(); …
Run Code Online (Sandbox Code Playgroud)

mysql hibernate lazy-loading spring-transactions spring-data

4
推荐指数
1
解决办法
9206
查看次数

配置 ModelMapper 将嵌套对象映射到字段

这是我的 DTO:

public class TagVolumeDTO {
    private Long id;
    private Long idTag;
    //...
}

public class TagTDO {
    private Long id;
    private Long amount;
    //...
}
Run Code Online (Sandbox Code Playgroud)

这是我的实体:

public class TagVolume {
    private Long id;
    private Tag tag;
    //...
}

public class Tag {
    private Long id;
    private Long amount;
    //...
}
Run Code Online (Sandbox Code Playgroud)

我想配置我的 ModelMapper 将 Tag#id 映射到 TagVolumeDTO#idTag。那可能吗?

java modelmapper

1
推荐指数
1
解决办法
1万
查看次数