sql >> Databáze >  >> RDS >> Mysql

Přidejte sloupec ke všem vybraným dotazům MySQL najednou

Vytvořte vlastní DB Interceptor

package com.felix.dao.interceptor;
import org.hibernate.EmptyInterceptor;

public class CustomDBInterceptor extends EmptyInterceptor {

  @Override
  public String onPrepareStatement(String sql) {
    String commentStr = "/*Comment*/"
    return super.onPrepareStatement(commentStr+sql);
  }

}

V souboru Spring Context nakonfigurujte Interceptor pro továrnu relace:

<bean id="customDBInterceptor" class="com.felix.dao.interceptor.CustomDBInterceptor"/>
<bean id="sessionFactory"
    class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="datasource" />
    <property name="entityInterceptor">
        <ref bean="customDBInterceptor"/>
    </property>
    ...
</bean>

Ujistěte se, že Custom DB Interceptor nemá cyklickou závislost na sessionFactory. S výše uvedeným jsou všechny dotazy spouštěné přes továrnu relace zachyceny, upraveny a poté předány onPrepareStatement metoda.



  1. Prevence sousedících/překrývajících se položek pomocí EXCLUDE v PostgreSQL

  2. SQL Vložit do tabulky pouze v případě, že záznam neexistuje

  3. Jak aktualizovat vybrané řádky hodnotami ze souboru CSV v Postgresu?

  4. Obnovte kopii vaší databáze