<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel>
	<title>Comments for Tom's Quest</title>
	
	<link>http://www.tomsquest.com/blog</link>
	<description>Blog sur Java et Ruby par Thomas Queste</description>
	<lastBuildDate>Tue, 29 Jun 2010 12:21:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/tomsquestComments" /><feedburner:info uri="tomsquestcomments" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Comment on 30 secondes avec Glassfish v3 by Yannick Majoros</title>
		<link>http://feedproxy.google.com/~r/tomsquestComments/~3/3rsw-kq4ld0/</link>
		<dc:creator>Yannick Majoros</dc:creator>
		<pubDate>Tue, 29 Jun 2010 12:21:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.tomsquest.com/blog/?p=547#comment-178</guid>
		<description>&gt; Pour moi, oui le serveur d’app doit faciliter le travail de tous les corps de métier

Oui, mais pas spécialement implémenter des outils propriétaires. Glassfish implémente la jsr dont-j'ai-oublié-le-numéro qui permet de gérer n'importe quel serveur d'applications java, je trouve que maven peut l'utiliser directement. Je trouve l'incorporation d'outils propriétaires dangereuse et sans limite claire, d'autant qu'il n'y a à mon avis pas de nécessité à incorporer ça dans Glassfish, ça peut être extérieur.

Voir https://maven-glassfish-plugin.dev.java.net/ . Je pense qu'on peut maintenant faire tout ça de manière standard (ce n'est pas spécifique à Glassfish).</description>
		<content:encoded><![CDATA[<p>&gt; Pour moi, oui le serveur d’app doit faciliter le travail de tous les corps de métier</p>
<p>Oui, mais pas spécialement implémenter des outils propriétaires. Glassfish implémente la jsr dont-j&#8217;ai-oublié-le-numéro qui permet de gérer n&#8217;importe quel serveur d&#8217;applications java, je trouve que maven peut l&#8217;utiliser directement. Je trouve l&#8217;incorporation d&#8217;outils propriétaires dangereuse et sans limite claire, d&#8217;autant qu&#8217;il n&#8217;y a à mon avis pas de nécessité à incorporer ça dans Glassfish, ça peut être extérieur.</p>
<p>Voir <a href="https://maven-glassfish-plugin.dev.java.net/" rel="nofollow">https://maven-glassfish-plugin.dev.java.net/</a> . Je pense qu&#8217;on peut maintenant faire tout ça de manière standard (ce n&#8217;est pas spécifique à Glassfish).</p>
]]></content:encoded>
	<feedburner:origLink>http://www.tomsquest.com/blog/30-secondes-avec-glassfish-v3/comment-page-1/#comment-178</feedburner:origLink></item>
	<item>
		<title>Comment on Les limites de Wicket by Tom</title>
		<link>http://feedproxy.google.com/~r/tomsquestComments/~3/1nO97o4cRk8/</link>
		<dc:creator>Tom</dc:creator>
		<pubDate>Wed, 02 Jun 2010 16:10:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.tomsquest.com/blog/?p=656#comment-160</guid>
		<description>Une discussion intéressante sur les limites de Wicket a eu lieu sur les forums developpez.com. Il y a des arguments intéressants et de vrais retours d’expérience.
A consulter sur : &lt;a href="http://www.developpez.net/forums/d908584/java/developpement-web-java/frameworks/wicket/limites-wicket-commentaire-texte/" rel="nofollow"&gt;Les limites de Wicket: commentaire de texte&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p>Une discussion intéressante sur les limites de Wicket a eu lieu sur les forums developpez.com. Il y a des arguments intéressants et de vrais retours d’expérience.<br />
A consulter sur : <a href="http://www.developpez.net/forums/d908584/java/developpement-web-java/frameworks/wicket/limites-wicket-commentaire-texte/" rel="nofollow">Les limites de Wicket: commentaire de texte</a></p>
]]></content:encoded>
	<feedburner:origLink>http://www.tomsquest.com/blog/les-limites-de-wicket/comment-page-1/#comment-160</feedburner:origLink></item>
	<item>
		<title>Comment on OSGI : oui mais non by OsGi</title>
		<link>http://feedproxy.google.com/~r/tomsquestComments/~3/i-ngnUrgr2U/</link>
		<dc:creator>OsGi</dc:creator>
		<pubDate>Sat, 22 May 2010 14:28:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.tomsquest.com/blog/?p=244#comment-150</guid>
		<description>Je pense que la comparaison JCP  OSGI n'a pas lieu d'être

1. JCP est bien plus fermé qu'OSGI:
Tu ne rentre dans le comité exécutif du JCP que si tu es un grand industriel: "The EC represents both major stakeholders and a representative cross-section of the Java Community".
Pour les grades de membre voici les tarifs: http://jcp.org/en/participation/membership

OSGI n'a pas de grade plus haut que "full member" et est ouvert sur paiement de la licence: http://www.osgi.org/About/Join
IBM est full-member. Donc si vous payer le prix, vous aurez autant de pouvoir de décision sur les specs.

2. OSGI se devrait plus d'être comparé à une JSR. OSGI est un ensemble de spécification pas un processus

3. "OSGI propose des fonctionnalités dont peu de monde a besoin. Par exemple, l’arrêt/relance de bundle à chaud"
Vous redémarrez votre serveur à chaque fois que vous déployer votre application ?
Vous n'avez jamais trouvé nécessaire de re livrer qu'une partie de votre application sans refaire tout un process de déploiement ? 

4. "IBM a besoin de log4j, il va créer son bundle. Idem pour Eclipse"
Hummm... vous êtes sur ?</description>
		<content:encoded><![CDATA[<p>Je pense que la comparaison JCP  OSGI n&#8217;a pas lieu d&#8217;être</p>
<p>1. JCP est bien plus fermé qu&#8217;OSGI:<br />
Tu ne rentre dans le comité exécutif du JCP que si tu es un grand industriel: &#8220;The EC represents both major stakeholders and a representative cross-section of the Java Community&#8221;.<br />
Pour les grades de membre voici les tarifs: <a href="http://jcp.org/en/participation/membership" rel="nofollow">http://jcp.org/en/participation/membership</a></p>
<p>OSGI n&#8217;a pas de grade plus haut que &#8220;full member&#8221; et est ouvert sur paiement de la licence: <a href="http://www.osgi.org/About/Join" rel="nofollow">http://www.osgi.org/About/Join</a><br />
IBM est full-member. Donc si vous payer le prix, vous aurez autant de pouvoir de décision sur les specs.</p>
<p>2. OSGI se devrait plus d&#8217;être comparé à une JSR. OSGI est un ensemble de spécification pas un processus</p>
<p>3. &#8220;OSGI propose des fonctionnalités dont peu de monde a besoin. Par exemple, l’arrêt/relance de bundle à chaud&#8221;<br />
Vous redémarrez votre serveur à chaque fois que vous déployer votre application ?<br />
Vous n&#8217;avez jamais trouvé nécessaire de re livrer qu&#8217;une partie de votre application sans refaire tout un process de déploiement ? </p>
<p>4. &#8220;IBM a besoin de log4j, il va créer son bundle. Idem pour Eclipse&#8221;<br />
Hummm&#8230; vous êtes sur ?</p>
]]></content:encoded>
	<feedburner:origLink>http://www.tomsquest.com/blog/osgi-oui-mais-non/comment-page-1/#comment-150</feedburner:origLink></item>
	<item>
		<title>Comment on JPA : les illusions sur les NamedQueries by Eric V</title>
		<link>http://feedproxy.google.com/~r/tomsquestComments/~3/ABAN7qwNIRU/</link>
		<dc:creator>Eric V</dc:creator>
		<pubDate>Mon, 05 Apr 2010 16:24:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.tomsquest.com/blog/?p=774#comment-123</guid>
		<description>@Alain, c'est une possibilité technique mais nous devons conserver certaines règles de nomenclatures et de lisibilités.

Par exemple, pour une meilleure lisibilité du code il est problématique d'avoir une table "T_ACHETEUR" dans la base de données, sa classe Java pour le mapping "P03_01_HumanBeingEntity" et une entitée JPA "buyer". 
Techniquement, c'est possible... mais lorsque le fonctionnel est complexe et les entités nombreuses, une nausée est vite arrivée chez le développeur.

Dans mon cas, la BDD était le fil rouge, le processus (dev Java) s'adapte à la BDD et pas l'inverse.

Afin de garder la logique de la nomenclature et faciliter sa maintenance, nous avons modifiés:
1- le nom des tables dans notre SGBDR favori
2- le nom des classes java
3- le nom de nos entités (@Entity(name = "myEntityName"))
4- nos requetes *QL

Le point 1 a pour partie sensible de ne pas faire de faute de frappe (jusque là, ca va)
Le point 2 a la même partie sensible que le point 1, le refactoring Java est simplifié par des EDI comme Eclipse et la compilation nous alerte et pointe les oublis et autres erreurs humaines.
Le point 3  a la même partie sensible que le point 1 
Le point 4 ne pourra être testé que par des tests unitaires (mais une appli est rarement couverte à 100%) ou en recette (rarement couvert aussi à 100%).

Dans le cas du point 4, comment s'assurer rapidement d'une non régression? 
La vérification des entités de NamedQuery permet d'éviter des oublis de non modification dans nos requêtes JPQL, sans attendre l'exécution de la requête.</description>
		<content:encoded><![CDATA[<p>@Alain, c&#8217;est une possibilité technique mais nous devons conserver certaines règles de nomenclatures et de lisibilités.</p>
<p>Par exemple, pour une meilleure lisibilité du code il est problématique d&#8217;avoir une table &#8220;T_ACHETEUR&#8221; dans la base de données, sa classe Java pour le mapping &#8220;P03_01_HumanBeingEntity&#8221; et une entitée JPA &#8220;buyer&#8221;.<br />
Techniquement, c&#8217;est possible&#8230; mais lorsque le fonctionnel est complexe et les entités nombreuses, une nausée est vite arrivée chez le développeur.</p>
<p>Dans mon cas, la BDD était le fil rouge, le processus (dev Java) s&#8217;adapte à la BDD et pas l&#8217;inverse.</p>
<p>Afin de garder la logique de la nomenclature et faciliter sa maintenance, nous avons modifiés:<br />
1- le nom des tables dans notre SGBDR favori<br />
2- le nom des classes java<br />
3- le nom de nos entités (@Entity(name = &#8220;myEntityName&#8221;))<br />
4- nos requetes *QL</p>
<p>Le point 1 a pour partie sensible de ne pas faire de faute de frappe (jusque là, ca va)<br />
Le point 2 a la même partie sensible que le point 1, le refactoring Java est simplifié par des EDI comme Eclipse et la compilation nous alerte et pointe les oublis et autres erreurs humaines.<br />
Le point 3  a la même partie sensible que le point 1<br />
Le point 4 ne pourra être testé que par des tests unitaires (mais une appli est rarement couverte à 100%) ou en recette (rarement couvert aussi à 100%).</p>
<p>Dans le cas du point 4, comment s&#8217;assurer rapidement d&#8217;une non régression?<br />
La vérification des entités de NamedQuery permet d&#8217;éviter des oublis de non modification dans nos requêtes JPQL, sans attendre l&#8217;exécution de la requête.</p>
]]></content:encoded>
	<feedburner:origLink>http://www.tomsquest.com/blog/jpa-les-illusions-sur-les-namedqueries/comment-page-1/#comment-123</feedburner:origLink></item>
	<item>
		<title>Comment on JPA : les illusions sur les NamedQueries by Alain Defrance</title>
		<link>http://feedproxy.google.com/~r/tomsquestComments/~3/MbeLCLp3Dow/</link>
		<dc:creator>Alain Defrance</dc:creator>
		<pubDate>Fri, 02 Apr 2010 09:31:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.tomsquest.com/blog/?p=774#comment-119</guid>
		<description>@Eric : Tout à fait, mais ici lorsque l'on écrit une requête JPQL on tapera sur l'entity MaClass et non pas sur la table EXEMPLE, et ceci avec ou sans une NamedQuery.</description>
		<content:encoded><![CDATA[<p>@Eric : Tout à fait, mais ici lorsque l&#8217;on écrit une requête JPQL on tapera sur l&#8217;entity MaClass et non pas sur la table EXEMPLE, et ceci avec ou sans une NamedQuery.</p>
]]></content:encoded>
	<feedburner:origLink>http://www.tomsquest.com/blog/jpa-les-illusions-sur-les-namedqueries/comment-page-1/#comment-119</feedburner:origLink></item>
	<item>
		<title>Comment on JPA : les illusions sur les NamedQueries by Eric V</title>
		<link>http://feedproxy.google.com/~r/tomsquestComments/~3/nm8jQwexZkU/</link>
		<dc:creator>Eric V</dc:creator>
		<pubDate>Thu, 01 Apr 2010 23:10:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.tomsquest.com/blog/?p=774#comment-118</guid>
		<description>Merci Tom pour ta réponse.

@Alain, bien souvent, on mappe une table à une entité et réciproquement:
@Entity
@Table(name="EXEMPLE")
public class MaClass {
...
}</description>
		<content:encoded><![CDATA[<p>Merci Tom pour ta réponse.</p>
<p>@Alain, bien souvent, on mappe une table à une entité et réciproquement:<br />
@Entity<br />
@Table(name=&#8221;EXEMPLE&#8221;)<br />
public class MaClass {<br />
&#8230;<br />
}</p>
]]></content:encoded>
	<feedburner:origLink>http://www.tomsquest.com/blog/jpa-les-illusions-sur-les-namedqueries/comment-page-1/#comment-118</feedburner:origLink></item>
	<item>
		<title>Comment on JPA : les illusions sur les NamedQueries by Alain Defrance</title>
		<link>http://feedproxy.google.com/~r/tomsquestComments/~3/qmnO4_QSlxE/</link>
		<dc:creator>Alain Defrance</dc:creator>
		<pubDate>Wed, 31 Mar 2010 16:06:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.tomsquest.com/blog/?p=774#comment-117</guid>
		<description>Eric,

Je ne comprends pas le rapport avec les NamedQueries car qu'on les utilise ou non, JPQL se base sur le nom des entity et non pas des tables.</description>
		<content:encoded><![CDATA[<p>Eric,</p>
<p>Je ne comprends pas le rapport avec les NamedQueries car qu&#8217;on les utilise ou non, JPQL se base sur le nom des entity et non pas des tables.</p>
]]></content:encoded>
	<feedburner:origLink>http://www.tomsquest.com/blog/jpa-les-illusions-sur-les-namedqueries/comment-page-1/#comment-117</feedburner:origLink></item>
	<item>
		<title>Comment on JPA : les illusions sur les NamedQueries by Tom</title>
		<link>http://feedproxy.google.com/~r/tomsquestComments/~3/2LzPxZuEx4Q/</link>
		<dc:creator>Tom</dc:creator>
		<pubDate>Wed, 31 Mar 2010 16:04:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.tomsquest.com/blog/?p=774#comment-116</guid>
		<description>@Eric : JPA n'est que l'API. derrière, ce sera du PreparedStatement mais, comme le dit Antonio, la spec JPA ne préconise rien là-dessus.

Conclusion de tout ça : hibernate fait du PreparedStatement pour les query dynamiques, donc ce n'est pas vrai de dire qu'une NamedQuery est plus performante.</description>
		<content:encoded><![CDATA[<p>@Eric : JPA n&#8217;est que l&#8217;API. derrière, ce sera du PreparedStatement mais, comme le dit Antonio, la spec JPA ne préconise rien là-dessus.</p>
<p>Conclusion de tout ça : hibernate fait du PreparedStatement pour les query dynamiques, donc ce n&#8217;est pas vrai de dire qu&#8217;une NamedQuery est plus performante.</p>
]]></content:encoded>
	<feedburner:origLink>http://www.tomsquest.com/blog/jpa-les-illusions-sur-les-namedqueries/comment-page-1/#comment-116</feedburner:origLink></item>
	<item>
		<title>Comment on JPA : les illusions sur les NamedQueries by Eric V</title>
		<link>http://feedproxy.google.com/~r/tomsquestComments/~3/mEaSzdbLB9g/</link>
		<dc:creator>Eric V</dc:creator>
		<pubDate>Wed, 31 Mar 2010 14:29:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.tomsquest.com/blog/?p=774#comment-115</guid>
		<description>Bon comme tu le montres, Tom, les NamedQueries ne sont pas le Graal!

Néanmoins, ca me semble apporter déjà une vérification qui est mieux que rien! Une fois un client, m'a demandé de changer le nom de chaque table, mais pas la structure... Une vérification sur le nom des entités est toujours la bienvenue!
Et le chargement au démarrage et non au fil de l'eau, me fait rappeler l'esprit de l'optimisation "-server" des JVM. Mais je crois que dans le cas des NamedQueries, je classifierai cela parmi les pico optimisations.

Par contre, j'ai besoin d'éclaircissements sur un point plus important: est ce que JPA+NamedQuery et (Hibernate+Driver JDBC autorisant PreparedStatement) font le boulot en double avec leur cache?</description>
		<content:encoded><![CDATA[<p>Bon comme tu le montres, Tom, les NamedQueries ne sont pas le Graal!</p>
<p>Néanmoins, ca me semble apporter déjà une vérification qui est mieux que rien! Une fois un client, m&#8217;a demandé de changer le nom de chaque table, mais pas la structure&#8230; Une vérification sur le nom des entités est toujours la bienvenue!<br />
Et le chargement au démarrage et non au fil de l&#8217;eau, me fait rappeler l&#8217;esprit de l&#8217;optimisation &#8220;-server&#8221; des JVM. Mais je crois que dans le cas des NamedQueries, je classifierai cela parmi les pico optimisations.</p>
<p>Par contre, j&#8217;ai besoin d&#8217;éclaircissements sur un point plus important: est ce que JPA+NamedQuery et (Hibernate+Driver JDBC autorisant PreparedStatement) font le boulot en double avec leur cache?</p>
]]></content:encoded>
	<feedburner:origLink>http://www.tomsquest.com/blog/jpa-les-illusions-sur-les-namedqueries/comment-page-1/#comment-115</feedburner:origLink></item>
	<item>
		<title>Comment on JPA : les illusions sur les NamedQueries by Erwan Aliaume</title>
		<link>http://feedproxy.google.com/~r/tomsquestComments/~3/RTrwolEGyrE/</link>
		<dc:creator>Erwan Aliaume</dc:creator>
		<pubDate>Sun, 28 Mar 2010 20:40:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.tomsquest.com/blog/?p=774#comment-114</guid>
		<description>A mon sens, le seul véritable avantage offert par hibernante avec les NamedQueries est la possibilité externaliser les requêtes pour les rendre plus facilement exploitable par une équipe de perfs ou de db. (encore faut il en avoir besoin). Du coup je n'utilise quasi jamais la version utilisant les annotations. En pratique, il s'agit d'une première étape à la transformation d'une requête en procédure stockée...

Si elles sont dites plus performantes, c'est qu'elles remplacent souvent a posteriori (en cas de problème) un mapping non réfléchi :)

Il n'y a pas de secret, l'entropie d'un système reste la même quelque soit votre solution :
- soit vous déléguez à hibernate&amp;co la partie compliquée, au risque de mal l'utiliser
- soit vous passer le temps nécessaire pour arriver à une solution plus réfléchie :)

Erwan</description>
		<content:encoded><![CDATA[<p>A mon sens, le seul véritable avantage offert par hibernante avec les NamedQueries est la possibilité externaliser les requêtes pour les rendre plus facilement exploitable par une équipe de perfs ou de db. (encore faut il en avoir besoin). Du coup je n&#8217;utilise quasi jamais la version utilisant les annotations. En pratique, il s&#8217;agit d&#8217;une première étape à la transformation d&#8217;une requête en procédure stockée&#8230;</p>
<p>Si elles sont dites plus performantes, c&#8217;est qu&#8217;elles remplacent souvent a posteriori (en cas de problème) un mapping non réfléchi <img src='http://www.tomsquest.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Il n&#8217;y a pas de secret, l&#8217;entropie d&#8217;un système reste la même quelque soit votre solution :<br />
- soit vous déléguez à hibernate&amp;co la partie compliquée, au risque de mal l&#8217;utiliser<br />
- soit vous passer le temps nécessaire pour arriver à une solution plus réfléchie <img src='http://www.tomsquest.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Erwan</p>
]]></content:encoded>
	<feedburner:origLink>http://www.tomsquest.com/blog/jpa-les-illusions-sur-les-namedqueries/comment-page-1/#comment-114</feedburner:origLink></item>
</channel>
</rss><!-- Dynamic Page Served (once) in 0.524 seconds -->
