java - Get an ID from an glassfish inherited entity -



java - Get an ID from an glassfish inherited entity -

i created netbeans java web project called "restfulcontactmanager".

i created several classes: contact, person, organisation, telephone.

person , organisation inherits contact.

i auto generated restful web service.

when click on "test restful webservice" contact entity works perfect.

i can perform "get" operation , works.

the contact class: @entity @table(name="contact") @inheritance(strategy = inheritancetype.joined) @xmlrootelement public class contact implements serializable { @id @generatedvalue(strategy = generationtype.identity) private long id; private string naam; private adres adres; protected contact() {} @onetomany(mappedby="contact", orphanremoval = true) private list<telefoon> telefoons = new arraylist<>(); public contact(string naam, adres adres){ this.naam = naam; this.adres=adres;} public long getid() { homecoming id; } public void setid(long id) { this.id = id; } public string getnaam() { homecoming naam; } public void setnaam(string naam) { this.naam = naam; } public adres getadres() { homecoming adres; } @xmltransient public list<telefoon> gettelefoons() { homecoming telefoons; } public void addtelefoon(string naam, string nummer){ telefoons.add(new telefoon(this, nummer, naam)); } public void removetelefoon(telefoon telefoon){ telefoons.remove(telefoon); } }

next contact class generated restful web service enable sources

@stateless @path("restfulcontactmanager.entities.contact") public class contactfacaderest extends abstractfacade<contact> { @persistencecontext(unitname = "restfulcontactmanagerpu") private entitymanager em; public contactfacaderest() { super(contact.class); } @post @override @consumes({"application/xml", "application/json"}) public void create(contact entity) { super.create(entity); } @put @path("{id}") @consumes({"application/xml", "application/json"}) public void edit(@pathparam("id") long id, contact entity) { super.edit(entity); } @delete @path("{id}") public void remove(@pathparam("id") long id) { super.remove(super.find(id)); } @get @path("{id}") @produces({"application/xml", "application/json"}) public contact find(@pathparam("id") long id) { homecoming super.find(id); } @get @override @produces({"application/xml", "application/json"}) public list<contact> findall() { homecoming super.findall(); } @get @path("{from}/{to}") @produces({"application/xml", "application/json"}) public list<contact> findrange(@pathparam("from") integer from, @pathparam("to") integer to) { homecoming super.findrange(new int[]{from, to}); } @get @path("count") @produces("text/plain") public string countrest() { homecoming string.valueof(super.count()); } @override protected entitymanager getentitymanager() { homecoming em; } }

this works far. person not...just organisation. here person class:

@entity @table(name="persoon") @inheritance(strategy= inheritancetype.joined) @xmlrootelement public class persoon extends contact implements serializable{ @convert(converter=localdatepersistenceconverter.class) private localdate geboortedatum; protected persoon() {} @onetomany(mappedby="contactpersoon") private list<organisatie> organisaties; public list<organisatie> getorganisaties() { homecoming organisaties; } public void setorganisaties(list<organisatie> organisaties) { this.organisaties = organisaties; } public localdate getgeboortedatum() { homecoming geboortedatum; } public void setgeboortedatum(localdate geboortedatum) { this.geboortedatum = geboortedatum; } public persoon(string naam, adres adres, localdate geboortedatum) { super(naam,adres); this.geboortedatum=geboortedatum; } }

next person class generated restful web service enable sources

@stateless @path("restfulcontactmanager.entities.persoon") public class persoonfacaderest extends abstractfacade<persoon> { @persistencecontext(unitname = "restfulcontactmanagerpu") private entitymanager em; public persoonfacaderest() { super(persoon.class); } @post @override @consumes({"application/xml", "application/json"}) public void create(persoon entity) { super.create(entity); } @put @path("{id}") @consumes({"application/xml", "application/json"}) public void edit(@pathparam("id") long id, persoon entity) { super.edit(entity); } @delete @path("{id}") public void remove(@pathparam("id") long id) { super.remove(super.find(id)); } @get @path("{id}") @produces({"application/xml", "application/json"}) public persoon find(@pathparam("id") long id) { homecoming super.find(id); } @get @override @produces({"application/xml", "application/json"}) public list<persoon> findall() { homecoming super.findall(); } @get @path("{from}/{to}") @produces({"application/xml", "application/json"}) public list<persoon> findrange(@pathparam("from") integer from, @pathparam("to") integer to) { homecoming super.findrange(new int[]{from, to}); } @get @path("count") @produces("text/plain") public string countrest() { homecoming string.valueof(super.count()); } @override protected entitymanager getentitymanager() { homecoming em; } }

an "get" phone call person class gives me error: http status 500 - internal server error type status report

messageinternal server error

descriptionthe server encountered internal error prevented fulfilling request.

anyone ideas ?

java web-services rest netbeans glassfish

Comments

Popular posts from this blog

java - How to set log4j.defaultInitOverride property to false in jboss server 6 -

c - GStreamer 1.0 1.4.5 RTSP Example Server sends 503 Service unavailable -

Using ajax with sonata admin list view pagination -