我希望有一种方法可以从数据库中检索生成的值作为额外列,并将其映射到瞬态值。
我会尝试解释一下,我希望实现这样的功能:
我会尝试解释一下,我希望实现这样的功能:
@Entity
@Table(name = "thing")
public class Thing {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "itemid")
private Long itemId;
private String someValue;
@Transient
private double distance;
// constructors, getters, setters, etc.. (include transient methods)
}
Repository("thingRepository")
public interface ThingRepository extends PagingAndSortingRepository<Thing, Long> {
@Query("SELECT t, cos(someDouble)*sin(:someDouble) AS distance FROM Thing t WHERE someValue = :someValue AND someDouble = :someDouble AND distance > 30")
Page<Thing> findByParams(@Param("someValue") String someValue, @Param("someDouble") double someDouble, Pageable pageable);
}
为了简单起见,我正在使用@Query注释,因此受限制。HAVING子句是不允许的,当前示例无法工作。
由于我需要存储在数据库中的值和从服务传递的值,因此我需要从数据库中进行过滤。
或者也许有其他方法来做到这一点?
提前致谢。