По какой-то странной причине сгенерированные Jpa запросы не генерируются, как ожидалось. Используя jpa, я написал следующий запрос в моем репозитории:
Мой объект
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
var id: Long = _
@Column(name = "global_event_id", nullable = false)
var globalEventId: Long = _
@Column(name = "date_created")
@NotNull
@Type(`type` = "org.jadira.usertype.dateandtime.joda.PersistentDateTime")
var dateCreated: DateTime = _
@Column(name = "ip", nullable = false)
var ip: String = _
@Column(name = "email")
var email: java.lang.String = _
Мой репозиторий
trait RequestRepository extends JpaRepository[Request, java.lang.Long] {
def countDistinctIpByGlobalEventIdGreaterThanAndDateCreatedGreaterThanAndEmail(@Param("globalEventId") globalEventId: Long, @Param("dateCreated") dateCreated: DateTime, @Param("email") email: String): java.lang.Long
}
Я ожидаю, что будет сгенерирован следующий запрос
SELECT count(distinct(ip)) FROM rule_request WHERE global_event_id > ? AND email = ? AND date_created >= ?
но вместо этого генерируется следующее, что явно неверно ( id вместо ip для начинающих)
select distinct count(request0_.id) as col_0_0_ from rule_request request0_ where request0_.global_event_id>? and request0_.date_created>? and request0_.email=?
Я использую:
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.1-api</artifactId>
<version>1.0.0.Final</version>
</dependency>
Есть идеи, почему, пожалуйста?