You may try Composition rather than Inheritance. You can make a User a
property of your other People objects. So you have a Person root class that
you can extend (if you have a tree-like domain need) and then you
encapsulate the User property as that Person's userAccount property.
I think I have done something like that in the past where there were People
in the application and some were Users and others were not.
viggo wrote:
>
> I've also been thinking of extending the original User class by adding
> more properties to it. The way I did it was to extract the core model
> classes from appfuse, add @Inheritance(strategy=InheritanceType.JOINED) to
> the User.java, and then create a new class which extends User, and add
> @Entity to it.
> I'm not sure what kind of project you have, but I'm using a modular-spring
> project. In order to use your own model classes you have to exclude the
> core appfuse model classes by added this to the pom.xml of the web module:
>
> <dependency>
> <groupId>org.appfuse</groupId>
> <artifactId>appfuse-${web.framework}</artifactId>
> <version>${appfuse.version}</version>
> <type>warpath</type>
> <!-- Excluded the appfuse-data-common due to
> personal changes in the
> core model -->
> <exclusions>
> <exclusion>
> <groupId>org.appfuse</groupId>
>
>
> <artifactId>appfuse-data-common</artifactId>
> </exclusion>
> </exclusions>
> </dependency>
>
> Anyone who disagree to this solution???
>
>
>
> Bryan Noll wrote:
>>
>> I assume you're using 2.0 because of the annotations. Did you change
>> the <class> mapping in the hibernate.cfg.xml file so it is looking for
>> InukUser instead of org.appfuse.model.User?
>>
>> Matt Raible wrote:
>>> Which version of AppFuse are you using?
>>>
>>> Matt
>>>
>>> On 2/21/07, sionsmith <[EMAIL PROTECTED]> wrote:
>>>>
>>>> Hi all,
>>>>
>>>> I've been playing around with this for a few hours now and i cant
>>>> seem to
>>>> get it working, the users in my system have a number of added entities
>>>> compared with that of the stand appfuse one. I thought i could just
>>>> extend
>>>> the class and place the new attributes in the new class.
>>>>
>>>> ================
>>>> Example InukUser.java
>>>> public class InukUser extends User {
>>>> protected String region;
>>>> protected boolean student;
>>>> protected String nusNumber;
>>>>
>>>> @Column(name="region")
>>>> public String getRegion() {
>>>> return region;
>>>> }
>>>> ......
>>>>
>>>> ================
>>>> When i used the userManager.getUserByUserName("tomcat"); i get a
>>>> classCastException using my own InukUser - what i'm i doing wrong?
>>>>
>>>> I have also tried to implement my own usermanager which returns a
>>>> InukUser
>>>> but this didnt seem the right way to do it.
>>>>
>>>> While creating my own implementation it occurred to me that i the
>>>> database
>>>> had the existing appfuse User structure, i changing the
>>>> hibernate.cfg.xml so
>>>> that my user was included in the mapping, but when i created the
>>>> tables this
>>>> table was not created. I placed the:
>>>>
>>>> @Entity
>>>> @Table(name="inuk_user")
>>>>
>>>> at the top of the InukUser class but not sure how you map the
>>>> "extends" in
>>>> the new hibernate 3 annotations without adding a
>>>> @Inheritance(strategy=JOINED) to the master class.
>>>>
>>>> Any help with how to do this or how to map this out using the Appfuse
>>>> framework would be very great and a great saving of my time :)
>>>>
>>>> Many Thanks - Keep up the hard work Matt
>>>>
>>>> Sion
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/Extending-AppFuse-User-tf3268186s2369.html#a9085424
>>>>
>>>> Sent from the AppFuse - User mailing list archive at Nabble.com.
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>>
>>>>
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>>
>
>
--
View this message in context:
http://www.nabble.com/Extending-AppFuse-User-tf3268186s2369.html#a9093175
Sent from the AppFuse - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]