반응형
Oracle 데이터베이스를 사용할 때 Hibernate는 기본적으로 어떤 부울 데이터 유형을 매핑합니까?
기본적으로 다음과 같은 엔티티에 필드를 만들 경우:
@NotNull
boolean myBoolean;
하이버네이션으로 테이블이 자동으로 생성됩니다.이 맵은 어떤 Oracle 데이터 유형에 적용됩니까?
@Arthur가 말한 바와 같이Number(1)
표준 sql 비트가 됩니다.0 == false
그리고.1 == true
다른 방법으로 매핑할 수 있습니다.char(1)
이렇게 'T' 또는 'F'를 하다
@org.hibernate.annotations.Type(type="true_false")
@NotNull
boolean myBoolean;
또는 'Y' 또는 'N'에 매핑합니다.
@org.hibernate.annotations.Type(type="yes_no")
@NotNull
boolean myBoolean;
심플 번호 (1)
필요에 따라 Schema Export를 사용하여 타겟 데이터베이스에 스크립트를 생성합니다.뭐랄까
AnnotationConfiguration configuration = new AnnotationConfiguration();
configuration
.addAnnotatedClass(<TYPE_YOUR_CLASS>.class)
.setProperty(Environment.USER, <TYPE_YOUR_USER>)
.setProperty(Environment.PASS, <TYPE_YOUR_PASSWORD>)
.setProperty(Environment.URL, <TYPE_YOUR_URL>)
.setProperty(Environment.DIALECT, <TYPE_YOUR_DIALECT>)
.setProperty(Environment.DRIVER, <TYPE_YOUR_DRIVER>);
SchemaExport schema = new SchemaExport(configuration);
schema.setOutputFile("schema.sql");
schema.create(<DO_YOU_WANT_TO_PRINT_TO_THE_CONSOLE>, <DO_YOU_WANT_TO_EXPORT_THE_SCRIPT_TO_THE_DATABASE>);
이게 네게 정말 필요한 거야
Java POJO:
//@Type(type="true_false") //not working for '1' and '0' in NUMERIC(1) field
@Type(type= "org.hibernate.type.NumericBooleanType")
@NotNull(message="NOT_NULL")
@Column(name = "IS_DELEGATION", nullable = false)
private Boolean isDelegation;
Oracle DDL
alter table agent add (is_delegation number(1) default 0 not null);
언급URL : https://stackoverflow.com/questions/1710198/what-does-hibernate-map-a-boolean-datatype-to-when-using-an-oracle-database-by-d
반응형
'programing' 카테고리의 다른 글
AngularJS - Attribute Directive 조건부로 사용 (0) | 2023.03.26 |
---|---|
MongoDB: 필드가 존재하지 않아 문서를 검색하시겠습니까? (0) | 2023.03.26 |
다른 컨트롤러로부터의 디렉티브컨트롤러 호출방식 (0) | 2023.03.26 |
Wordpress 문제: 이행 후 홈페이지만 기능 (0) | 2023.03.26 |
수집되지 않은 참조 오류: 반응이 정의되지 않았습니다. (0) | 2023.03.26 |