Hibernate 5: < /h3>
Код: Выделить всё
import com.vladmihalcea.hibernate.type.interval.PostgreSQLIntervalType;
import org.hibernate.annotations.TypeDef;
@Entity
@TypeDef(
typeClass = PostgreSQLIntervalType.class,
defaultForType = Duration.class
)
public class FooConfiguration {
@Column(columnDefinition = "interval")
private Duration periodBeforeNextTrigger;
}
< /code>
Тогда у меня есть следующий метод (написанный в Scala): < /p>
import com.vladmihalcea.hibernate.`type`.interval.PostgreSQLIntervalType
import org.hibernate.jpa.TypedParameterValue
import java.time.Duration
import java.util.Date
def fooInitialTrigger(
defaultPeriodBeforeInitialTrigger: Duration,
beforeTs: Date,
): F[List[Foo]] =
T.transactionally { em =>
F.delay {
em.createQuery(selectJoinFoo +
s"""and f.lastTriggerTs is null
|and f.creationTs + ${caseNull("periodBeforeInitialTrigger", "defaultPeriod")}
Подробнее здесь: [url]https://stackoverflow.com/questions/79766221/with-hibernate-7-how-to-map-a-java-duration-to-a-postgres-interval-in-a-typed-q[/url]