Troy,

Thanks for the analysis. We need to fix the pom for JPADemo archetype.

Can you please file a ticket for this 
(http://github.com/dpp/liftweb/issues)?

We'll update the pom and resolve the slf4j dependencies.

Cheers, Indrajit

NB: We might just make it for M7 if all goes well. Else, it'll be 
available in the SNAPSHOT as usual.

On 03/11/09 6:55 AM, Troy Noble wrote:
> Yes I tried Chris's suggestion, and JPA does in fact work with MySQL 5.0
> with auto-increment ID columns even with columns named something other
> than 'id' using @Column(val name="PROJECT_TYPE_ID") for example.
>
> Thanks Chris!
>
> I changed JPAWeb/spa/pom.xml dependency for hibernate-entitymanager to
> version 3.4.0.GA <http://3.4.0.GA> and that caused maven to grab all of
> its dependencies included an update hibernate-core 3.3.0.SP1 which had
> the fix I needed.  Since hibernate now appears to have some dependency
> on org.slf4j, I was then getting an Exception... something about not
> being able to find org.slf4j.impl.StaticLoggerBinder.  So I had to also
> manually download and install the
> org/slf4j/slf4j-nop/1.4.2/slf4j-nop-1.4.2.jar in my local maven
> repository (see command below if anyone is interested) since I couldn't
> figure out how to get it to grab it automatically from www.slf4j.org
> <http://www.slf4j.org>'s site.  I'm no maven expert, so there's probably
> some better way to do it, I just don't know how yet.
>
> <dependency>
> <groupId>org.hibernate</groupId>
> <artifactId>hibernate-entitymanager</artifactId>
> <version>*3.4.0.GA <http://3.4.0.GA>*</version>
> <exclusions>
> <exclusion>
> <groupId>javax.transaction</groupId>
> <artifactId>jta</artifactId>
> </exclusion>
> </exclusions>
> </dependency>
> * <dependency>
> <groupId>org.slf4j</groupId>
> <artifactId>slf4j-nop</artifactId>
> <version>1.4.2</version>
> </dependency>*
>
> The maven command I ran to install slf4j-nop into my local repository is:
>
>    mvn deploy:deploy-file -DgroupId=org.slf4j -DartifactId=slf4j-nop
> -Dversion=1.4.2 -Dpackaging=jar -Dfile=c:/temp/slf4j-nop-1.4.2.jar
> -Durl=file://c:/temp
>
> Thanks again for your help, and I agree Derek that it would be great to
> have this updated in the Archetype when you get a chance.
>
> Troy
>
> On Mon, Nov 2, 2009 at 11:55 AM, Derek Chen-Becker
> <dchenbec...@gmail.com <mailto:dchenbec...@gmail.com>> wrote:
>
>     If updating the pom hibernate version fixes the problem, please file
>     an issue and we'll update the Archetype.
>
>     Thanks,
>
>     Derek
>
>
>     On Mon, Nov 2, 2009 at 6:23 AM, Chris Lewis
>     <burningodzi...@gmail.com <mailto:burningodzi...@gmail.com>> wrote:
>
>
>         Troy,
>
>         I ran into the same problem. It seems to be a hibernate issue - that
>         archetype uses an older version of hibernate that breaks with mysql.
>         Change the version in your pom for hibernate (I don't remember the
>         latest, maybe 3.4GA). I meant to post this a while ago, as it
>         cost me an
>         hour or more to figure out.
>
>         chris
>
>         Troy Noble wrote:
>          > I'm not even sure this is a Lift issue, could be Hibernate or
>         Scala...
>          > but here goes...
>          >
>          > I get one test failure in TestJPAWeb.scala when I use JPA
>         with MySQL
>          > (also confirmed with H2) with auto-increment id column.
>          >
>          > @Entity
>          > class Author {
>          >   @Id
>          >   @GeneratedValue(){val strategy = GenerationType.AUTO}
>          >   var id : Long = _
>          >   ...
>          > }
>          >
>          > Note that I also tried adding   @Column{val nullable = false, val
>          > insertable = false, val updatable = false}  per another
>         JPA+Scala page
>          > I read, just to see if it makes a difference.  It didn't.  I also
>          > tried GenerationType.IDENTITY.  No difference.
>          >
>          > If I turn on showSql it appears that auto-increment columns are
>          > getting included in the SQL statement for some reason such as:
>          >
>          >    insert into author (name, id) values (?, ?)
>          >
>          > And I get an error indicating no value is set for column 2.  The
>          > Hibernate output using H2 database appears in
>         spa/target/surefire-
>          > reports/com.foo.jpaweb.model.TestJPAWeb-output.txt is as follows:
>          >
>          > Hibernate: insert into Author (name, id) values (?, ?)
>          > Oct 31, 2009 7:05:48 AM org.hibernate.util.JDBCExceptionReporter
>          > logExceptions
>          > WARNING: SQL Error: 90012, SQLState: 90012
>          > Oct 31, 2009 7:05:48 AM org.hibernate.util.JDBCExceptionReporter
>          > logExceptions
>          > SEVERE: Parameter #2 is not set; SQL statement:
>          > insert into Author (name, id) values (?, ?) [90012-121]
>          >
>          > A similar problem was reported in Hibernate 3.2.4 but was
>         fixed in
>          > 3.2.6... so I'm assuming version 3.3.1GA that Liftweb
>         presently uses
>          > should not be the source of this problem?  That might not be
>         a good
>          > assumption.  I was going to try to do a stand-alone Scala +
>         JPA test
>          > case apart from Lift, and then try with Java + JPA.
>          >
>          > But before I go too far down that path, I wanted to make sure
>         I'm not
>          > doing something wrong or that it's not a lift issue.
>          >
>          > This is very easy to reproduce if you start by downloading a
>         clean
>          > JPADemo as per the liftweb + JPA wiki page (or the liftbook
>         example)
>          > and change the top level pom.xml to include:
>          >
>          > <dependency>
>          > <groupId>com.h2database</groupId>
>          > <artifactId>h2</artifactId>
>          > <version>1.2.121</version>
>          > </dependency>
>          >
>          > or for MySQL:
>          >
>          > <dependency>
>          > <groupId>mysql</groupId>
>          > <artifactId>mysql-connector-java</artifactId>
>          > <version>5.0.8</version>
>          > </dependency>
>          >
>          > And then change the following entries in the
>         spa/src/main/resources/
>          > META-INF/persistence.xml to target an h2 database instead of the
>          > default derby:
>          >
>          > <property name="hibernate.dialect"
>          > value="org.hibernate.dialect.H2Dialect"/>
>          > <property name="hibernate.connection.driver_class"
>          > value="org.h2.Driver"/>
>          > <property name="hibernate.connection.url"
>          > value="jdbc:h2:testDB"/>
>          >
>          > or if you want to use your local MySQL 5.0.x server instead
>         (assumes
>          > local DB named JPADemo exists, and is writable by user named
>         lifdev
>          > with password lift1234 (note the &amp; is very important
>         between the
>          > username & the "password="):
>          >
>          > <property name="hibernate.dialect"
>          > value="org.hibernate.dialect.MySQL5InnoDBDialect"/>
>          > <property name="hibernate.connection.driver_class"
>          > value="com.mysql.jdbc.Driver"/>
>          > <property name="hibernate.connection.url" value="jdbc:mysql://
>          > localhost/JPADemo?user=liftdev&amp;password=lift1234"/>
>          >
>          > Then "cd spa" and type "mvn clean install -Dscala.version=2.7.7"
>          >
>          > For what it's worth, if I open the H2 scheme with Squirrel
>         SQL it all
>          > looks happy from the schema creation side and has
>         auto-increment in
>          > the 'id' column.  I can insert rows manually just fine.
>           Similarly for
>          > MySQL even for the newly-created tables 'author' and 'book'.
>          >
>          > Thanks, Troy
>          >
>          > >
>          >
>
>
>
>
>
>
>
> >

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Lift" group.
To post to this group, send email to liftweb@googlegroups.com
To unsubscribe from this group, send email to 
liftweb+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/liftweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to