오라클 지원
Oracle 데이터베이스에는 특정 특성이 있습니다. JFinal은 대다수의 Oracle 사용자를 지원하기 위해 이러한 특성에 대한 몇 가지 추가 지원을 제공했습니다. 다음은 전체 Oracle 구성 예입니다.
public void configPlugin(Plugins me) { C3p0Plugin cp = new C3p0Plugin(…);
//Configure Oracle 드라이버
cp. jdbc.driver.OracleDriver"); me.add(cp);
ActiveRecordPlugin arp = new ActiveRecordPlugin(cp); me.add(arp);
//Oracle 방언 구성
arp.setDialect(new OracleDialect());
// 속성 이름(필드 이름) 대소문자를 구분하지 않는 컨테이너 팩토리 구성 arp.setContainerFactory(new CaseInsensitiveContainerFactory()) arp.addMapping("user", "user_id", User.class);
}
Oracle로 인해 데이터베이스는 자동으로 속성 이름(필드 이름)을 대문자로 변환하므로 arp.addMaping("user", "ID", User.class)와 같이 기본 키 이름을 대문자로 수동으로 지정해야 합니다. ActiveRecord에서 속성 이름(필드 이름)에 대해 대소문자를 구분하지 않으려면 CaseInsensitiveContainerFactory를 설정하여 이를 달성할 수 있습니다. 이 설정을 사용하면 arp.addMaping("user", "ID", User.class )가 더 이상 필요하지 않습니다.
또한 Oracle은 기본 키 자동 증가를 직접 지원하지 않으며 JFinal은 이에 대한 편리한 솔루션을 제공합니다. Oracle이 자동 기본 키를 지원하는 주요 단계는 두 가지입니다. 하나는 시퀀스를 생성하는 것이고, 다른 하나는 모델에서 이 시퀀스를 사용하는 것입니다.
1: 다음 방법을 통해 시퀀스를 생성합니다. 이 예에서 시퀀스 이름은 다음과 같습니다. MY_SEQ
MINVALUE 1
MAXVALUE 9999999999999999
START WITH 1
CACHE 20;
2: 위에서 만든 시퀀스를 사용합니다. YourModel.set(… )
사용자 user = new User().set("id", "MY_SEQ.nextval").set("age", 18) user.save();
/ / id 값 가져오기
Integer id = user.get( "id");
시퀀스 사용은 매우 간단합니다. yourModel.set(기본 키 이름, 시퀀스 이름 + “.nextval” ). Special 여기서 ".nextval" 접미사는 소문자여야 하며 OracleDialect는 이 값의 대소문자를 구분합니다.