Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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 Hibernate:LazyInitializationException:无法初始化代理-无会话_Java_Hibernate_Jpa_Spring Data Jpa - Fatal编程技术网

Java Hibernate:LazyInitializationException:无法初始化代理-无会话

Java Hibernate:LazyInitializationException:无法初始化代理-无会话,java,hibernate,jpa,spring-data-jpa,Java,Hibernate,Jpa,Spring Data Jpa,董事会实体和成员实体不是关联映射 董事会实体类 @Entity(name = "BOARD") @Table @SequenceGenerator(name = "BOARD_SEQ_GENERATOR" , sequenceName = "BOARD_SEQ" , initialValue = 1) public class BoardEntity { @Id @GeneratedValue(st

董事会实体和成员实体不是关联映射

董事会实体类

@Entity(name = "BOARD")
@Table
@SequenceGenerator(name = "BOARD_SEQ_GENERATOR"
                    , sequenceName = "BOARD_SEQ"
                    , initialValue = 1)
public class BoardEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE
                    , generator = "BOARD_SEQ_GENERATOR")
    private long idx;

    @Lob
    private String contents;

    private String title;

    private long insNo;

    @Temporal(TemporalType.TIMESTAMP)
    private Date insDate;

    private long uptNo;

    @Temporal(TemporalType.TIMESTAMP)
    private Date uptDate;

    @Transient
    private String insName;
    .....
    getter / setter
@Entity
@Table(name = "MEMBER")
@SequenceGenerator(name = "MEMBERIDX_SEQ_GENERATOR"
                    , sequenceName = "MEMBERIDX_SEQ"
                    , initialValue = 1)
public class MemberEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE
                    , generator = "MEMBERIDX_SEQ_GENERATOR")
    private long memberIdx;

    @Column(nullable = false)
    private String id;

    @Column(nullable = false)
    private String pwd;

    @Column(nullable = false)
    private String name;

    @Column(nullable = false)
    private int age;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(nullable = false)
    private Date insDate;
    .....
    getter / setter
成员实体类

@Entity(name = "BOARD")
@Table
@SequenceGenerator(name = "BOARD_SEQ_GENERATOR"
                    , sequenceName = "BOARD_SEQ"
                    , initialValue = 1)
public class BoardEntity {

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE
                    , generator = "BOARD_SEQ_GENERATOR")
    private long idx;

    @Lob
    private String contents;

    private String title;

    private long insNo;

    @Temporal(TemporalType.TIMESTAMP)
    private Date insDate;

    private long uptNo;

    @Temporal(TemporalType.TIMESTAMP)
    private Date uptDate;

    @Transient
    private String insName;
    .....
    getter / setter
@Entity
@Table(name = "MEMBER")
@SequenceGenerator(name = "MEMBERIDX_SEQ_GENERATOR"
                    , sequenceName = "MEMBERIDX_SEQ"
                    , initialValue = 1)
public class MemberEntity implements Serializable {

    private static final long serialVersionUID = 1L;

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE
                    , generator = "MEMBERIDX_SEQ_GENERATOR")
    private long memberIdx;

    @Column(nullable = false)
    private String id;

    @Column(nullable = false)
    private String pwd;

    @Column(nullable = false)
    private String name;

    @Column(nullable = false)
    private int age;

    @Temporal(TemporalType.TIMESTAMP)
    @Column(nullable = false)
    private Date insDate;
    .....
    getter / setter
MemberRepository类代码

@Repository
public interface MemberRepository extends JpaRepository<MemberEntity, Long> {

    @Query("select m from MemberEntity m where m.id=:id")
    public MemberEntity getMemberIDbyId(@Param("id") String id);
}
@Service
@Transactional
public class MemberService {

    @Autowired private MemberRepository memberRepository;

    public void addMember(MemberEntity member) {
        memberRepository.save(member);
    }

    public MemberEntity getMember(Long memberIdx) {
        return memberRepository.getOne(memberIdx);
    }
}
@Controller
@RequestMapping(value = "/board")
public class BoardController {

    @Autowired 
    private BoardService boardService;

    @Autowired
    private MemberService memberService;

    @RequestMapping(value = "/list", method = RequestMethod.GET)
    public String BoardList(HttpServletRequest req, HttpServletResponse resp, Model model) throws Exception {

        List<BoardEntity> resutlList = boardService.getBoardList();

        //resutlList.forEach(System.out::println);

        for (BoardEntity item : resutlList) {
            MemberEntity memberEntity = memberService.getMember(item.getInsNo());
            item.setInsName(memberEntity.getName());
        }

        model.addAttribute("boardList", resutlList);

        return "board/boardList";
    }
}
BoardController类代码

@Repository
public interface MemberRepository extends JpaRepository<MemberEntity, Long> {

    @Query("select m from MemberEntity m where m.id=:id")
    public MemberEntity getMemberIDbyId(@Param("id") String id);
}
@Service
@Transactional
public class MemberService {

    @Autowired private MemberRepository memberRepository;

    public void addMember(MemberEntity member) {
        memberRepository.save(member);
    }

    public MemberEntity getMember(Long memberIdx) {
        return memberRepository.getOne(memberIdx);
    }
}
@Controller
@RequestMapping(value = "/board")
public class BoardController {

    @Autowired 
    private BoardService boardService;

    @Autowired
    private MemberService memberService;

    @RequestMapping(value = "/list", method = RequestMethod.GET)
    public String BoardList(HttpServletRequest req, HttpServletResponse resp, Model model) throws Exception {

        List<BoardEntity> resutlList = boardService.getBoardList();

        //resutlList.forEach(System.out::println);

        for (BoardEntity item : resutlList) {
            MemberEntity memberEntity = memberService.getMember(item.getInsNo());
            item.setInsName(memberEntity.getName());
        }

        model.addAttribute("boardList", resutlList);

        return "board/boardList";
    }
}
@控制器
@请求映射(value=“/board”)
公共类BoardController{
@自动连线
私人寄宿服务;
@自动连线
私人会员服务;
@RequestMapping(value=“/list”,method=RequestMethod.GET)
公共字符串BoardList(HttpServletRequest-req、HttpServletResponse-resp、Model-Model)引发异常{
List resultlist=boardService.getBoardList();
//resultlist.forEach(System.out::println);
对于(董事会实体项目:ResultList){
MemberEntity=memberService.getMember(item.GetInNo());
item.setInName(memberEntity.getName());
}
model.addAttribute(“boardList”,ResultList);
返回“董事会/董事会名单”;
}
}
错误信息

심각: Servlet[dispatcher]在路径为[]的上下文中的Servlet.service() 引发异常[请求处理失败;嵌套异常为 org.hibernate.LazyInitializationException:无法初始化代理 -没有会话]的根本原因org.hibernate.LazyInitializationException:无法初始化代理 -org.hibernate.proxy.AbstractLazyInitializer.initialize上没有会话(AbstractLazyInitializer.java:147) 在 org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:260) 在 org.hibernate.proxy.pojo.javassist.javassistlazinitializer.invoke(javassistlazinitializer.java:68) 在 com.knk.spring4.entity.member.MemberEntity\u$$\ uJVST201\u0.getName(MemberEntity\u$$\ uJVST201\u0.java) 在 com.knk.spring4.controller.board.BoardController.BoardList(BoardController.java:70) 位于的sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法) 位于的sun.reflect.NativeMethodAccessorImpl.invoke(未知源) sun.reflect.DelegatingMethodAccessorImpl.invoke(未知源)位于 java.lang.reflect.Method.invoke(未知源代码)位于 org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) 在 org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) 在 org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114) 在 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) 在 org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) 在 org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) 在 org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) 在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) 在 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) 在 org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:635) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:742) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:478) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80) 在 org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:624) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) 在 org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799) 在 org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 在 org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) 在 org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1455) 在 org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(未知源) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(未知源) 在 org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 位于java.lang.Thread.run(未知源)

InsNo和UptNo