-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 7 posts ] 
Author Message
 Post subject: Annotations - Methode in Business Objekt ignorieren
PostPosted: Wed Feb 20, 2008 8:39 am 
Newbie

Joined: Mon May 14, 2007 5:49 am
Posts: 17
Hallo Zusammen,

ich habe mal eine kurze (Anfänger-)Frage zu Annotations in/mit Hibernate. Ich habe als Basisklasse für meine Business Objekte die Methode "isNew()" implementiert. Die Methode wird später verwendet um einfach prüfen zu können ob das Objekt neu ist oder aktualisiert wird.

However ... auf jeden Fall meckert er beim Starten der Anwendung rum: org.hibernate.PropertyNotFoundException: Could not find a setter for property new in class

Code:
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public class BaseEntity {

   
   private Integer id;
   

   public void setId(Integer id) {
      this.id = id;
   }

   @Id
   @GeneratedValue(strategy=GenerationType.AUTO)
   public Integer getId() {
      return id;
   }

   public boolean isNew() {
      return (this.id == null);
   }


}


Naja ... jetzt zu meiner Frage ... wie kann mit Annotationen klar machen, dass er diese Methode ignorieren soll? Geht das überhaupt?

Jemand eine Idee oder eine Lösung für mich?

Danke für eure Hilfe.
Viele Grüße
Oliver


Top
 Profile  
 
 Post subject:
PostPosted: Wed Feb 20, 2008 12:11 pm 
Expert
Expert

Joined: Thu Jul 05, 2007 9:38 am
Posts: 287
Use the @Transient annotation

http://java.sun.com/javaee/5/docs/api/j ... sient.html

_________________
Please rate useful posts.


Schauderhaft: Softwaredevelopment, Projectmanagement, Qualitymanagement and all things "schauderhaft"


Top
 Profile  
 
 Post subject:
PostPosted: Wed Feb 20, 2008 12:24 pm 
Newbie

Joined: Mon May 14, 2007 5:49 am
Posts: 17
Danke.

Passt. :-)


Top
 Profile  
 
 Post subject:
PostPosted: Thu Feb 21, 2008 11:05 am 
Newbie

Joined: Mon May 14, 2007 5:49 am
Posts: 17
Doch noch eine kleine Frage ... das müsste doch auch für Attribute von einem Business Objekte gelten oder?

Also:

Code:
@Transient
private String password_repeat;



sollte doch verhindern das das Attribut in die DB geschrieben wird oder?

Gruß
Oliver


Top
 Profile  
 
 Post subject:
PostPosted: Thu Feb 21, 2008 4:29 pm 
Expert
Expert

Joined: Thu Jul 05, 2007 9:38 am
Posts: 287
Korrekt

_________________
Please rate useful posts.


Schauderhaft: Softwaredevelopment, Projectmanagement, Qualitymanagement and all things "schauderhaft"


Top
 Profile  
 
 Post subject:
PostPosted: Fri Feb 22, 2008 3:03 am 
Newbie

Joined: Mon May 14, 2007 5:49 am
Posts: 17
Hmmm. Muss ich die Get oder Set Methode auch noch irgendwie kennzeichnen?

Weil das Business Objekt sieht von den Attributen her so aus:

Code:
   private String nickname;
   private String firstname;
   private String lastname;
   private String email;
   private String password;
   
   @Transient
   private String password_repeat;
   
   private int points;
   
   private Date created_at;


Und password_repeat wandert derzeit noch munter mit in die Datenbank ...

Ein Idee warum das so ist?


Top
 Profile  
 
 Post subject:
PostPosted: Fri Feb 22, 2008 5:14 am 
Newbie

Joined: Mon May 14, 2007 5:49 am
Posts: 17
ICh habe in meiner BaseEntity angefangen die Annotations vor die getMethoden zu schreiben ... deswegen hat er wohl die Annotation vor dem Attribut nicht genommen ... vor meiner getMethode klappt es ..

Problem ist erledigt.


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 7 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.