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