Mon, Dec 22, 2008
Adam already showed how to generate all the drop table
statements
(impossible to trackback):
select 'drop table '||table_name||' CASCADE CONSTRAINTS;' from USER_TABLES
As I just needed to drop sequences, based on Adam’s query, here’s the
necessary:
select 'drop sequence '||sequence_name||';' from USER_SEQUENCES;
Quite straightforward indeed.
Hope this helps.
Fri, Nov 28, 2008
41 mots
Speed test
Fri, Oct 17, 2008
Reçu ça il y a quelques jours, ça m’a beaucoup fait rire :
Tue, Sep 30, 2008
Je viens de lire cet article du monde à propos du rejet du plan
Paulson.
Très fort, ce Douglas Holtz-Eakin…
Si M. McCain a évité de s’en prendre trop frontalement à Obama, son
conseiller économique, Douglas Holtz-Eakin, n’a pas pris de pincettes.
Si l’adoption du plan de relance a échoué, explique-t-il, c’est “Ã
cause de Barack Obama et des démocrates, qui mettent la politique
avant le pays”. […] Sur les 433 élus de la Chambre basse, 228 ont
voté contre, dont 133 républicains et 95 démocrates.
Refaisons le compte, d’après wikipedia, la chambre des représentants
des
États-Unis,
aussi appelée chambre basse, est composée de 435 membres, répartis
comme suit :
- Républicains : 202 sièges
- Démocrates : 233 sièges
Et on nous dit donc qu’ont voté contre le plan Paulson :
- 133 républicains
- 92 démocrates
Comptons les votes pour :
- Républicains : 69 votes, soit 34% des républicains
- Démocrates : 141 votes, soit 60% des démocrates
En résumé, Douglas Holtz-Eakin, républicain, accuse les démocrates qui
ont voté massivement pour (autant en nombre qu’en pourcentage) d’avoir
fait échouer le plan Paulson… C’est pas un rien malhonnête, ça, mon
petit monsieur ?
Wed, Sep 10, 2008
Écoutant la radio, je vous la livre ici. Laurent Gerra imite Le Pen et
parle de sa femme. Ça donne en gros :
À l’âge où je l’ai ramassée, elle n’avait déjà plus la nurserie, il ne
lui restait plus que la salle de jeux.
Finesse, quand tu nous tiens :-).
Sun, Jul 13, 2008
Dans cet article, Eugene présente un cas où une API évolue. Une méthode
est ajoutée qu’il serait bien de pouvoir utiliser. Problème : le faire
rendrait le code non rétrocompatible. Donc, pour le faire tout de même
sans casser la compatibilité, il utilise la reflection. Et pour le
faire proprement, il met en Å“uvre un Proxy afin que ce code soit bien
externalisé.
Une solution très
classe
de la part d’Eugene Kuleshov.
Sun, Jul 13, 2008
Well, as I myself fell into this stupid gap, I guess I’ll try to help. I
was quite pushed in this trap by a fallacious part of the jboss
documentation :
@PersistenceContext EntityManager entityManager;
public void someMethod();
{
org.jboss.ejb3.entity.HibernateSession hs = (HibernateSession)entityManager;
org.hibernate.Session session = hs.getHibernateSession();
}
Let’s be clear : this is totally WRONG! Yes, it will work under
JBoss, but as there’s a standard way to do this, this is not the right
way to do this.
In fact, there’s a dedicated method that lets you retrieve the
underlying persistence manager : EntityManager.getDelegate(). If you
read this method’s javadoc, you’ll see the following :
/**
* Return the underlying provider object for the EntityManager,
* if available. The result of this method is implementation
* specific.
* @throws IllegalStateException if this EntityManager has been closed.
*/
public Object getDelegate();
And the “underlying provider”, for Hibernate, is obviously the Hibernate
Session instance…
So, the right way to retrieve the Session is something like the
following instead :
@PersistenceContext EntityManager entityManager;
public void someMethod();
{
org.hibernate.Session session = (Session)entityManager.getDelegate();
}
Under JBoss, using this code won’t make a big difference. But using the
standard way will let you run your code under several appservers
(namely, it works like a charm^[1]^ under JBoss 4.2.2.ga
and Glassfishv2ur1 for example). If you use the bad way above, this will
just crash under Glassfish, for example…
I reported the corresponding documentation bug in the JBOSS
tracker.
Hope this helps…
Notes
[1] ça, c’est pour Seb
Mon, Jun 30, 2008
Si, comme moi depuis 10 minutes, vous êtes dans l’impossibilité de
relancer Firefox parce que la page sur laquelle vous étiez provoquait un
plantage de FF, ce qui suit est pour vous.
Dans les options de Firefox, vous pouvez demander à ce que celui-ci
réouvre les onglets ouverts avant la dernière fermeture (Onglet Général,
le premier combobox). Une fois cette option sélectionnée, mon firefox
qui gelait avait pour bonne idée de redémarrer sur la page en question
et de regeler…
Et là , bizarrement, la proposition de “restaurer les onglets” ou de
“démarrer une nouvelle session” n’était même pas offerte. Donc, bien
bien bloqué.
La solution que j’ai trouvée est la suivante :
- Tuez firefox
- dans votre répertoire profile (dans quelque chose comme
$HOME/.firefox/1d5s1.default sous Linux ou C:\Documents and
Settings\votreuser\Application
Data\Mozilla\Firefox\Profiles\1d5s1.default sous windows),
supprimez simplement le fichier sessionstore.js.
- Relancez firefox…
Voilà , en espérant que ça serve…
Tue, Jun 24, 2008
C’est le genre de chose qu’il est sympathique d’avoir écrit en tête de
ce type de fichier pour disposer de l’auto-complétion XML dans son IDE
favori. Lorsque j’utilise un nouveau format XML, la première chose que
je cherche est en effet à ajouter cet entête pour me faciliter la vie
(et aux autres une fois commité :)).
Note : dans la liste ci-dessous, je ne mets pas le prologue XML pour
gagner en concision. Toutefois, ça ne fait jamais de mal de le mettre.
Personnellement j’essaie de le mettre systématiquement.
Hibernate : mappings hbm.xml
Même s’il vaut mieux à mon avis passer aux annotations lorsqu’on en a la
possibilité, voici une déclaration de DTD qui fonctionne chez moi pour
ceux qui ont encore des mappings hibernate à la sauce XML :
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping package="net.batmat.domaine">
...
</hibernate-mapping>
Java Persistence : persistence.xml
Pour ceux qui utilisent Java
Persistence,
cette “sous-spécification” des EJB3 devenue une spécification autonome
dans sa version 2Â :
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd"
version="1.0">
...
</persistence>
Spring : fichier de contexte XML
Depuis la version 2, ils ont subdivisé leur format XML en différents
namespaces. Voici un exemple fonctionnel qui met en Å“uvre un certain
nombre de ces espaces de nommages XML. Je laisse en exercice le passage
à Spring 2.5 (que nous utilisons, d’ailleurs, mais on n’a pas mis à jour
le XML) ou l’ajout d’un autre namespace dont vous auriez besoin :-).
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/util
http://www.springframework.org/schema/util/spring-util-2.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
...
</beans>
Maven : pom.xml
Celui-là , il est sacrément pratique vu la taille du truc :
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
...
</project>
Voilà déjà pour cette fois. Une fois cet entête ajouté, dans Eclipse par
exemple, tapez juste “<” quelque part et vous verrez la liste des
balises apparaître et leur documentation si les auteurs l’ont indiquée
(après qu’Eclipse ait pu récupérer le XSD sur Internet, bien sûr) :
Si vous en avez d’autres, n’hésitez pas à les poster (ou à les demander,
si je suis dans un bon jour) dans les commentaires.
Update 01/10/2008, ajout du application.xml des
EARÂ :
<!DOCTYPE application PUBLIC "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN"
"http://java.sun.com/dtd/application_1_3.dtd">
<application id="mon appli">
...
</application>
Wed, Jun 4, 2008
Sans déconner, c’est pas un ramassis de neuneus à la FIA ?
Lorsque Sébastien Loeb, le multiple champion du monde de rally, monte
une fois de plus sur un podium sans prendre soin de passer devant les
maquilleuses auparavant, il est des gens assez chiants pour trouver Ã
redire ! Surinder Thatti, via
Libé :
Je me dois d’exprimer mon opinion à propos du piètre passage de
Sébastien Loeb à la TV lors de l’arrivée du rallye du Mexique. Il
n’était pas rasé, dépenaillé avec une chevelure négligée.
Jusque là , rien d’anormal. Il y a plein de gens aux mÅ“urs différentes
sur la planète. Ça peut éventuellement se comprendre.
Là où j’hallucine, c’est lorsqu’un débile de la direction de la
Fédération Internationale de l’Automobile, j’ai nommé Morrie Chandler,
se dit que vraiment oui, c’est pas normal, c’est une honte aux vrais
mâles et tout et tout :
Malheureusement, ce n’est pas un problème propre à notre sport, vu que
la même chose arrive dans le football et d’autres sports de “mâles”.
Bien sûr, ces personnes sont une insulte aux vrais mâles … Ma
seule solution c’est que nous suggérions à ISC (NDLR: International
Sportsworld Communicators, la société détentrice des droits
commerciaux et de retransmission) qu’ils aient la couverture Ã
laquelle ils ont droit en tant que vainqueurs, mais sans gros plans et
sur un laps de temps réduit.
Comme le dit Libé, après les récentes révélations au sujet de Max
Mosley et ses frasques sado-masochistes
nazi, il y a de quoi
se demander dans quelle réalité des types comme Chandler vivent ! Qu’un
champion soit pas très frais et un peu ébouriffé après une course de
plusieurs heures et le port d’un casque, ça c’est inadmissible.
Par contre, que le président de toute la fédé s’amuse en privé à papoter
en allemand avec des prostitués qui le traitent comme un prisonnier, lÃ
c’est le black out. (Précisons que Max Mosley n’est pas allemand et que
son père avait créé l’Union Fasciste
Britannique, le
deuxième point peut donner une idée de l’origine de ce genre de
fantasme…)
Et nouvelle fraîche : Max Mosley a donc bien été réélu hier à la tête
de la
FIA.
Plutôt douteuse cette histoire, vous avouerez…