반응형
최대 절전 모드 자동 생성 데이터베이스
저는 Java EE Hibernate 프로젝트가 있으며 MySQL을 데이터베이스로 사용하고 있습니다.
처음 프로젝트를 실행할 때 데이터베이스가 자동으로 생성되기를 원합니다.
이것은 나의hibernate.cnf.xml
:
<?xml version='1.0' encoding='utf-8' ?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd" >
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost/InternetProject</property>
<property name="connection.username">root</property>
<property name="connection.password"></property>
<property name="connection.pool_size">10</property>
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="show_sql">true</property>
<mapping class="entities.Business" />
<mapping class="entities.Coupon" />
<mapping class="entities.User" />
<mapping class="entities.LastLogin" />
</session-factory>
</hibernate-configuration>
이 프로젝트를 다른 컴퓨터에서 처음 실행할 때 데이터베이스를 만드는 방법은 무엇입니까?InternetProject
창조될 것인가요?
config 파일에 의하면 이미 그렇게 되어 있을 수도 있고 나도 모르는 일입니다.
미리 감사드립니다.
<property name="hibernate.hbm2ddl.auto">create</property>
테이블을 만듭니다.그러나 데이터베이스는 만들지 않습니다.연결 URL을 변경하여 데이터베이스를 생성합니다.<property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost/InternetProject?createDatabaseIfNotExist=true</property> <property name="connection.username">root</property> <property name="connection.password"></property> <property name="connection.pool_size">10</property>
Update : 데이터베이스 작성 시 문자 인코딩
<property name="connection.url">
jdbc:mysql://localhost/InternetProject?createDatabaseIfNotExist=true&useUnicode=yes&characterEncoding=UTF-8
</property>
<property name="hibernate.hbm2ddl.auto">create</property>
할 거다.
최대 절전 모드에서는 데이터베이스가 생성되지 않고 테이블만 생성됩니다.데이터베이스를 만들려면 MySQL이 URL에 매개 변수를 추가하여 존재하지 않는 경우 MySQL에 데이터베이스를 생성하도록 지시해야 합니다. 예:
jdbc:mysql://db:3306/mydatabase?createDatabaseIfNotExist=true
자동 속성에는 여러 가지 옵션이 있습니다.
- create - 매핑 또는 주석에 해당하는 새 테이블을 만듭니다.기존 테이블과 데이터를 삭제합니다.
- update - 기존 데이터 및 테이블을 유지합니다.스키마를 업데이트합니다.여기서 우리는 논쟁자들을 보살펴야 합니다.
- create-drop - create와 같지만 세션이 닫히면 모든 것이 삭제됩니다.
validate - 스키마를 맵 또는 주석과 검증하거나 일치시킵니다.운영 환경에 적합합니다.
<!-- create create-drop validate update --> <property name="hbm2ddl.auto">update</property>
도움이 되었으면 좋겠습니다.
언급URL : https://stackoverflow.com/questions/21069687/hibernate-auto-create-database
반응형
'programing' 카테고리의 다른 글
GitLab CI 대젠킨스 (0) | 2023.09.16 |
---|---|
npm - EPERM: Windows에서 작업이 허용되지 않음 (0) | 2023.09.16 |
문자열의 마지막 문자를 얻으려면 어떻게 해야 합니까? (0) | 2023.09.16 |
mysql 쿼리의 최대 실행 시간을 설정하는 방법은 무엇입니까? (0) | 2023.09.16 |
getJ에 대해 캐시 false를 설정하는 방법jQuery의 SON? (0) | 2023.09.16 |