(function() { SyntaxHighlighter.all(); });

org.hibernate.LazyInitializationException: could not initialize proxy [com.jejunet.cms.server.domain.Server#216] - no Session

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

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

at org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor.intercept(ByteBuddyInterceptor.java:45)

at org.hibernate.proxy.ProxyConfiguration$InterceptorDispatcher.intercept(ProxyConfiguration.java:95)

at com.jejunet.cms.server.domain.Server$HibernateProxy$1dTl2oLJ.getName(Unknown Source)

at com.jejunet.cms.server.ServerServiceTest.getServer(ServerServiceTest.java:122)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.base/java.lang.reflect.Method.invoke(Method.java:566)

at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)

at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)

at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)

at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)

at org.springframework.test.context.junit4.statements.RunBeforeTestExecutionCallbacks.evaluate(RunBeforeTestExecutionCallbacks.java:74)

at org.springframework.test.context.junit4.statements.RunAfterTestExecutionCallbacks.evaluate(RunAfterTestExecutionCallbacks.java:84)

at org.springframework.test.context.junit4.statements.RunBeforeTestMethodCallbacks.evaluate(RunBeforeTestMethodCallbacks.java:75)

at org.springframework.test.context.junit4.statements.RunAfterTestMethodCallbacks.evaluate(RunAfterTestMethodCallbacks.java:86)

at org.springframework.test.context.junit4.statements.SpringRepeat.evaluate(SpringRepeat.java:84)

at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:251)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:97)

at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)

at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)

at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)

at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)

at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)

at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)

at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)

at org.junit.runners.ParentRunner.run(ParentRunner.java:363)

at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:190)

at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:89)

at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:41)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:541)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:763)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:463)

at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:209)


아래와 같이 테스트 메소드를 단순히 저장하고 조회 하는데 예외 발생했다.

단건 가져오는것에 japRepository 기능 구현이 다른가보다.

repository.findByid(id);  /* Retrieves an entity by its id  */

repository.getOne(id);  /* Returns a reference to the entity with the given identifier. */ <= 이놈 쓰면 오류남 

@Test

public void getServer() {

Server savedServer = repository.save(new Server(SERVER_NAME));

Optional<Server> server2 = serverService.getServer(savedServer.getId());

assertEquals(savedServer.getName(), server2.get().getName());

}


아래 블로그에서 싶게 설명하고 있다. 

영속성 관련해서 레퍼런스만 필요할때 경우에 따라 쓴다고 하네요.(복잡함 ㅠㅠ)

https://bebong.tistory.com/entry/JPA-Lazy-Evaluation-LazyInitializationException-could-not-initialize-proxy-%E2%80%93-no-Session 

https://github.com/ojdkbuild/ojdkbuild 여기서 윈도우용 설치 가능한 파일을 다운로드 할수 있다.

github.com openjdk buildgithub.com openjdk build


openjdk 11로 설치할 예정이다.

java-11-openjdk-11.0.1.13-1.ojdkbuild.windows.x86_64.msi (sha256) 을 클릭 하여 다운로드 한다.

약 240MB 정도 된다.

다운로드 후 파일을 클릭하여 실행한다.

window defenderwindow defender java openjdk install

윈도우 Defender에서 차단한다. 그래도 그냥 실행해서..


설치 마법사화면이 보이며 진행한다.

openjdk wizardopenjdk wizard

라이센스 동의하고 다음 으로 진행한다.

openjdk license 동의openjdk license 동의

기본으로 JAVA_HOME Variable 과 JAR Files Association 은 선택이 안되어 있다.

일단 기본으로 설치한다.

설치경로는 기본으로 Program Files\ojdkbuild\java-11-openjdk-11.0.1.1-1\ 로 되어있다.

openjdk 설치 설정openjdk 설치 설정


java -version 하면 그냥 기존에 있던 버전으로 표시된다.

JAVA_HOME 환경변수를 안바꿔서 그렇다.


STS 에서 설치한 openJDK를 사용할수 있게 해보자.

Window -> Proferences -> java -> Installed JREs


sts Installed JREsWindow -> Proferences -> java -> Installed JREs


Add JRE 버튼으로 클릭 Standard VM 선택 Next 다음

sts add JRE


sts add JREJRE home

OpenJDK설치 경로를 선택하면 JAE name 이 알아서 선택된다.

Finish 로 완료 한다.

new spring starter projectnew spring starter project java version 11

새 스프링 프로젝트 를 누르면 Java  Version에 11 버전이 나오면 끝.




STS 메뉴 -> Help ->  Eclipse Marketplace -> "Angular" 로 검색


Angular IDE CI 가 제일 위에 있다. 이놈은 라이센스가 있는놈이다. 무료평가 시기 45일 지나면 못쓴다.  그래서 이놈은 패스

아래 AngularJS Eclipse 1.2.0 요놈은 AngularJS 라서 패스.

조금더 내리다 보면 Angular Eclipse 1.3.0 이 있다. 요놈으로 설치 해볼려고 한다.


Angular Eclipse 1.3.0 2018-12-07 지금 이건 설치 비추한다. 

여러가기 버그가 존재하고. 

https://github.com/angelozerr/angular-eclipse/issues/107 해결이 안된다. 

설치 해보고 싶으면 Angular IDE CI 요놈으로다가 무료기간 동안만 써보시길 바란다.


Angular Eclipse is a set of plugins which provide support for Angular:


타입스크립트 지원, Angular cli 통합 터미털, Angular@ 문법을 에디터에서 지원한다고 한다.

위자드와 라운처도는 파일 자동생성이나 빌드 관련 툴 같은데 나중에 써봐야겠다.


TypeScript Debugging support 는  Oxgen 버전 이상이어야 지원된다고 하는거 같은데 일단 체크 하고 다음 으로 진행 했다.


라이센스 동의후 완료 하면 창이 닫히면서 설치 진행된다.


중간에 보안관련해서 설치 진행 할꺼냐고 묻는다. Install Anyway 로 해서 진행 했다.


STS 재시작 하라고 나온다. Restart Now 로 재시작 한다.


머가 바꿨는지 보면 일단 오른쪽 상단에 Perspective 를 눌러보면 다음과 같이 Angular가 딱하니 있다.


Angular Perspective 로 변경해서 작업 하자.


기본 화면 구조는 같아보이고 하단에 터미널이 눈에 띈다.  CLI 관련 처리를 위해서 기본으로 나온거 같아보인다.


하면서 전부 캡쳐 해놓은거 캡쳐 프로그램 오류로 캡쳐 이미지 전부 없어졌다.   

아래는 맨마지막  Angular Perspective 로 변경 후 이미지를 다시 캡쳐한것이다.

sts angular perspectivests angular perspective view



https://angular.io/guide/language-service 에 있듯이 아래 3개 중에 하나로 하는걸 강추 한다.

Visual Studio code로 해볼 예정이다.

  • Visual Studio Code 

  • WebStorm

  • Sublime Text



+ Recent posts