Wie legt man mithilfe von MapStruct ein Attribut auf die aktuelle OffsetDateTime (jetzt) ​​fest?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Wie legt man mithilfe von MapStruct ein Attribut auf die aktuelle OffsetDateTime (jetzt) ​​fest?

by Guest » 07 Jan 2025, 02:20

Ich versuche, MapStruct zu verwenden, um Attribute einer Klasse zuzuordnen, und unter diesen Attributen befindet sich eine OffetDateTime-Variable, die ich auf die aktuelle Zeit setzen muss. Wenn die MapperImpl-Klasse jedoch generiert wird, kann sie die Klassen OffsetDateTime und ZoneOffset nicht erkennen. Also zum Beispiel

Code: Select all

public class MapThisClass {
private OffsetDateTime time;

// other attributes
}
Ich versuche (im Mapping) die Zeit auf die aktuelle OffsetTime wie folgt festzulegen:

Code: Select all

public class MapThisClassMapper {

//. Map other attributes

Mapping(target = “time”, expression = "java(OffsetDateTime.now(ZoneOffset.UTC))")
public abstract MapThisClass cloneMapThisClass(MapThisClass mapThisObject, Clazz someOtherClassToMapFrom);

}
Wenn ich versuche zu erstellen, erhalte ich die folgende Fehlermeldung.

Code: Select all

ERROR] MapThisMapperImpl.java:[233,61] cannot find symbol
[ERROR]   symbol:   variable ZoneOffset
[ERROR]   location: class MapThisMapperImpl
[ERROR] MapThisMapperImpl.java:[233,42] cannot find symbol
[ERROR]   symbol:   variable OffsetDateTime
[ERROR]   location: class MapThisMapperImpl
Ich bin neu bei MapStruct. Gibt es eine Möglichkeit für mich sicherzustellen, dass die MapperImpl-Klasse die Klassen OffsetDateTime und ZoneOffset erkennt (automatisch importiert)? Oder gibt es vielleicht eine andere Möglichkeit, dies zu tun, und ich muss dies anders angehen?
Jede Einsicht/Hilfe wäre sehr dankbar.
Danke!

Top