> You can put it anywhere! We search all
> superclasses and superinterfaces.

Yes, but if I put them in interface, then how can Hibernate ever get to
know about concrete implementations (or does it need to know anything
about them?) as there is no pointers anywhere that tell this (only
interfaces that return interfaces, whose components are interfaces,
etc.).

At least I didn't get it to work. Hibernate configures itself, but
buildSessionFactory returns null session factory.


Aapo Laakkonen wrote:

>Where should I put Xdoclet tags, in interface or concrete 
>implementation class?
>
>Here is example (user interface):
>
>package com.fchaps.model;
>
>/**
> * The User
> *
> * @hibernate.class    table="usr"
> *                     mutable="true"
> *                     proxy="com.fchaps.model.User"
> */
>public interface User {
>
>    /**
>     * User identifier
>     *
>     * @hibernate.id   column="usr_id"
>     *                 unsaved-value="null"
>     *                 generator-class="native"
>     *
>     * @return
>     */
>    public Long getId();
>    public void setId(Long id);
>
>    /**
>     * User's username
>     *
>     * @hibernate.property column="username"
>     *                     not-null="true"
>     *                     unique="true"
>     *
>     * @return
>     */
>    public String getUsername();
>    public void setUsername(String username);
>
>    /**
>     * User's password
>     *
>     * @hibernate.property column="password"
>     *                     not-null="true"
>     *                     unique="false"
>     *
>     * @return
>     */
>    public String getPassword();
>    public void setPassword(String password);
>
>    /**
>     * User's type (the rights level)
>     *
>     * @hibernate.property column="type"
>     *                     not-null="false"
>     *                     unique="false"
>     *
>     * @return
>     */
>    public UserType getType();
>    public void setType(UserType type);
>
>    /**
>     * If user is also a player then this is the player object for him
>     *
>     * @hibernate.many-to-one  column="player_id"
>     *                         cascade="save-update"
>     *                         class="com.fchaps.model.Player"
>     *                         outer-join="auto"
>     *                         unique="false"
>     *
>     * @return
>     */
>    public Player getPlayer();
>    public void setPlayer(Player player);
>
>    /**
>     * User's disabled status
>     *
>     * @hibernate.property column="disabled"
>     *                     not-null="false"
>     *                     unique="false"
>     *
>     * @return
>     */
>    public Boolean isDisabled();
>    public void setDisabled(Boolean disabled);
>
>}
>
>As you see everything is written in interface. Does this work? I have 
>read the persisting classes should implement default constructor. That 
>is not possible here as I'm using interface. So this doesn't work? Or 
>does it?
>
>If not then:
>
>I could put these tags in concrete implementation class. Another 
>question raises. Should I then write many-to-one tags like this:
>
>
>    /**
>     * If user is also a player then this is the player object for him
>     *
>     * @hibernate.many-to-one  column="player_id"
>     *                         cascade="save-update"
>     *                         class="com.fchaps.model.Player"
>     *                         outer-join="auto"
>     *                         unique="false"
>     *
>     * @return
>     */
>
>Or like this:
>
>    /**
>     * If user is also a player then this is the player object for him
>     *
>     * @hibernate.many-to-one  column="player_id"
>     *                         cascade="save-update"
>     *                         class="com.fchaps.model.impl.PlayerImpl"
>     *                         outer-join="auto"
>     *                         unique="false"
>     *
>     * @return
>     */
>
>And is it ok to return interface (like the player in above interface)? 
>And should I specify proxy class as interface or implementation?
>
>Next question:
>
>If I cannot write Xdoclet tags in interface, then can this be changed 
>to allow @hibernate.class tag to get class attribute where I could tell

>the implementing class? For example like this:
>
>/**
> * The User
> *
> * @hibernate.class    class="com.fchaps.model.impl.UserImpl"
> *                     table="usr"
> *                     mutable="true"
> *                     proxy="com.fchaps.model.User"
> */
>
>Would this solve the problem I'm trying to tell?
>
>
>Thanks!
>
>
>
>-------------------------------------------------------
>This sf.net email is sponsored by:ThinkGeek
>Welcome to geek heaven.
>http://thinkgeek.com/sf _______________________________________________
>hibernate-devel mailing list
>[EMAIL PROTECTED]
>https://lists.sourceforge.net/lists/listinfo/hibernate-devel
>  
>



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
hibernate-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/hibernate-devel

Reply via email to