On Aug 3, 6:19 pm, Meikel Brandmeyer <m...@kotka.de> wrote:
> Hi,
>
> On Aug 3, 10:16 am, Adie <adit...@gmail.com> wrote:
>
> > for e.g
> > (import '(javax.persistence Persistence)
> > gives a
> > java.lang.ClassNotFoundException: javax.persistence.Persistence
> > (NO_SOURCE_FILE:0) error
>
> > How will i import javax.persistence properly?
>
> You have to name the Classes or Interfaces in the `import` form.
>
> (import '(javax.persistence EntityManager EntityManagerFactory
> Persistence))
>
> If you get a class not found exception, check that everything you
> need is in your classpath. (java -cp some-
> require.jar:clojure.jar ....)
>
> > How would i define a class that implements this in clojure?
>
> > (ns com.demo.HelloWorld
> > (:gen-class
> > :extends [javax.persistence]))
>
> Suppose EntityManager is an Interface you do this like that:
>
> (ns com.demo.HelloWorld
> (:gen-class
> :implements [javax.persistence.EntityManager]))
>
> If EntityManager is a class, use:
>
> (ns com.demo.HelloWorld
> (:gen-class
> :extends javax.persistence.EntityManager))
>
> If you don't need a named class, you can also use `proxy`:
>
> (proxy [javax.persistence.EntityManager] []
> (methodA [] ...)
> (methodB [some-arg] ...)
> ...)
>
> > How can i write this effectively in clojure
>
> > EntityManagerFactory emf =
> > Persistence.createEntityManagerFactory("helloworld");
>
> (let [emf (Persistence/createEntityManagerFactory "helloworld")]
> ..)
>
> Calls to static methods look like qualified calls into a clojure
> namespace.
>
> Note: many details are left out in the above. Read more
> onhttp://clojure.org/compilation. You can also look in one of the
> many clojure projects which might serve as an example.
>
> Hope this helps.
>
> Sincerely
> Meikel
Thank you very much, yes it works.
As Dr Harrop pointed out 'javax.persistence' is not a part of the
standard API, i needed to add that to the classpath
and it was not tough using emacs :)
--regards
Adie
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---