2013-06-17 3 views
3

최대 절전 모드를 사용하여 mysql replace into을 어떻게 구현할 수 있습니까? 나는 이것을 어디에서나 발견 할 수 없었다.mysql을 최대 절전 모드로 바꾸기

+0

미안 해요 MySQL의 교체에 대해 잘 모르겠지만, 당신은 뭐죠 귀하의 요구 사항에 더 정교한 수 있습니까? 네가하고 싶은게 뭐야? 내 프로젝트 중 하나 인 – zerocool

+1

에 많은 업데이트 문이 있습니다. 실행하는 데 너무 많은 시간이 걸립니다. 그래서 나는 대신에 대신 할 계획이었습니다. 최대 절전 모드를 통해이를 수행하는 방법을 모른다. – Hrishi

답변

2

나는 mySQL 확장 동작이므로 직접 지원되지 않는다고 생각합니다. 지원되지 않는 모든 쿼리 구문에 대해 정상적으로이 경우 네이티브 SQL을 사용할 수 있습니다.

최대 절전 모드에서 원시 SQL 지원에 대한 참조는 here입니다.

1

실제로 하이버 네이트 된 명명 된 쿼리를 쉽게 사용할 수 있습니다. 엔티티 클래스에서 Hibernate 매핑 파일이나 Hibernate 어노테이션을 사용하여 작업을 완료 할 수 있습니다.

매핑 파일 사용.

<hibernate-mapping> 
    ...... 
    <sql-query name="yourNamedReplaceQuery"> 
     <![CDATA[REPLACE INTO T SELECT * FROM T]]> 
    </sql-query> 
</hibernate-mapping> 

사용 주석

@NamedQueries({ 
    @NamedNativeQuery(
    name = "yourNamedReplaceQuery", 
    query = "REPLACE INTO T SELECT * FROM T" 
    ) 
}) 
@Entity 
@Table(name = "your_object", catalog = "test") 
public class YourObject implements java.io.Serializable { 

명명 된 쿼리를 호출.

Query query = session.getNamedQuery("findStockByStockCodeNativeSQL"); 

더 많은 참조 : http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/querysql.html

관련 문제