Hibernate 게 으 름 태그 의 lazy
레이 지 의 개념:진정 으로 어떤 대상 을 사용 할 때 만 이 대상 을 불 러 옵 니 다.
Hibernate 의 lazy 정책 은:
1.
2.
3.
- 탭 에서 값 을 추출 할 수 있 습 니 다:true/false/extra.
4.
클 라 스 태그 에 있 는 레이 지 를 살 펴 보 겠 습 니 다.
User.java:
public class User {
/* ID */
private int id;
/* */
private String name;
/* */
private String password;
/* */
private Date createTime;
// setter getter
}
User.hbm.xml:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- package -->
<hibernate-mapping package="com.lixue.bean">
<!-- class name ,table table -->
<class name="User" table="t_user" lazy="true">
<id name="id">
<generator class="native" />
</id>
<!-- -->
<property name="name" />
<property name="password" />
<property name="createTime" />
</class>
</hibernate-mapping>
테스트 방법:
public void testLoad1(){
/* User,load (class lazy )*/
User user = (User) HibernateUtils.getSession().load(User.class, 1);
/* sql( ID , )*/
System.out.println("user.id=" + user.getId());
/* sql, , sql , , */
System.out.println("user.name=" + user.getName());
/* sql( name )*/
System.out.println("user.password=" + user.getPassword());
/* sql( name )*/
System.out.println("user.createTime=" + user.getCreateTime());
}
User user = (User) HibernateUtils.getSession().load(User.class, 1);
에 정지점 을 찍 어 테스트 합 니 다!대상 은 대상 user-->handler--->target 노드 에 나타 납 니 다.그림:
1.처음에 target 은 null 이 었 습 니 다.
user.getId()
을 실 행 했 을 때 도 null 이 었 습 니 다.ID 가 우리 가 조회 할 때 이미 지정 되 었 기 때문에 조회 하 는 것 은 의미 가 없습니다.2.집행
user.getName()
할 때 한 문장 을 보 냈 다.그림 과 같다.그림 에서 알 수 있 듯 이 ID 를 조회 할 때 문 구 를 보 내지 않 았 습 니 다.이것 은 우리 가 방금 말 했 습 니 다.우리 가 name 속성 을 조회 할 때 문 구 를 보 냈 고 이 문장의 기능 은 모든 속성 을 조회 하 는 것 입 니 다.
3.실행
user.getPassword()
과user.getCreateTime()
을 할 때 문 구 를 보 내지 않 습 니 다.이미 속성 치 를 조 회 했 기 때 문 입 니 다.주:
총결산
이상 은 바로 본 고 에서 Hibernate 게 으 름 을 피 우 는
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA 및 PostgreSQL 텍스트다음은 의 친구들과 논의한 후 오랫동안 초안으로 작성한 블로그 게시물이며 ( ) 주제에 대한 훌륭한 기사를 작성했기 때문에 여기에 작은 테스트를 게시하고 있습니다. JPA 주석 없이 String를 선언합니다. 재현하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.