Java Hibernate@Where注释语法问题

Java Hibernate@Where注释语法问题,java,database,spring-data-jpa,spring-data,jpql,Java,Database,Spring Data Jpa,Spring Data,Jpql,我一直对Where注释有问题 我在MySQL 8.0.18上有两张桌子,场地和音乐会,有这样的结构和场地 创建桌子地点 ( ID INT非空自动增量, 名称VARCHAR(220)不为空, 图像VARCHAR(240), 活动位不为空默认值0, 坐标VARCHAR(120), 国家/地区VARCHAR(120)非空默认值“美国”, CITY VARCHAR(220)不为空默认值为“无”, 评级INT不为NULL默认值为0, 版本INT不为NULL默认值为0, 主键(ID) ); 创建桌面音乐会

我一直对Where注释有问题 我在MySQL 8.0.18上有两张桌子,场地和音乐会,有这样的结构和场地

创建桌子地点
(
ID INT非空自动增量,
名称VARCHAR(220)不为空,
图像VARCHAR(240),
活动位不为空默认值0,
坐标VARCHAR(120),
国家/地区VARCHAR(120)非空默认值“美国”,
CITY VARCHAR(220)不为空默认值为“无”,
评级INT不为NULL默认值为0,
版本INT不为NULL默认值为0,
主键(ID)
);
创建桌面音乐会
(
ID INT非空自动增量,
名称VARCHAR(120)不为空,
说明VARCHAR(120)不为空,
国际音乐节,
地点(国际),
评级INT不为NULL默认值为0,
日期时间,
图像块,
版本INT不为NULL默认值为0,
外键(FESTIVAL_ID)引用FESTIVAL(ID),
外键(场馆ID)参考场馆(ID),
主键(ID)
);
Java Hibernate和Spring数据JPA配置如下

package com.heatmanofurioso.gigger.service.persistencehibernateimplementation.config;
导入com.heatmanofurioso.gigger.service.persistencehibernateimplementation.HibernateServiceMarker;
导入lombok.extern.slf4j.slf4j;
导入org.springframework.context.annotation.Bean;
导入org.springframework.context.annotation.ComponentScan;
导入org.springframework.context.annotation.Configuration;
导入org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor;
导入org.springframework.data.jpa.repository.config.EnableJpaRepositories;
导入org.springframework.jdbc.datasource.lookup.JndiDataSourceLookup;
导入org.springframework.orm.jpa.JpaTransactionManager;
导入org.springframework.orm.jpa.jpa适配器;
导入org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
导入org.springframework.orm.jpa.vendor.hibernatejbavendorapter;
导入org.springframework.transaction.annotation.EnableTransactionManagement;
导入javax.persistence.EntityManagerFactory;
导入javax.sql.DataSource;
导入java.util.Properties;
@配置
@EnableJpaRepositories(basePackageClasses={HibernateServiceMarker.class})
@ComponentScan(basePackageClasses={HibernateServiceMarker.class})
@Slf4j
@启用事务管理
公共类HibernateUtilConfig{
私有静态最终字符串MYSQL\u DATA\u SOURCE=“java:jboss/MysqlDataSource”;
私有静态最终字符串HIBERNATE_ENTITIES=“com.heatmanofurioso.gigger.service.persistencehibernateimplementation.entity”;
@豆子
公共数据源数据源(){
JndiDataSourceLookup JndiDataSourceLookup=新建JndiDataSourceLookup();
返回jndiDataSourceLookup.getDataSource(MYSQL\u DATA\u SOURCE);
}
@豆子
public LocalContainerEntityManagerFactoryBean entityManagerFactory(){
LocalContainerEntityManagerFactoryBean entityManagerFactoryBean=新的LocalContainerEntityManagerFactoryBean();
setDataSource(dataSource());
setPackagesToScan(HIBERNATE_实体);
log.info(“成功创建实体管理器”);
JpaVendorAdapter=new HibernateJpaVendorAdapter();
//用于在部署时显示表的SQL格式的属性
Properties JPAPProperties=新属性();
jpaProperties.put(“hibernate.show_sql”,true);//标记为true以记录hibernate查询
jpaProperties.put(“hibernate.format_sql”,true);//标记为true以记录hibernate查询
entityManagerFactoryBean.setJPapProperties(JPapProperties);
setJpaVendorAdapter(jpaVendorAdapter);
返回entityManagerFactoryBean;
}
@豆子
公共JpaTransactionManager事务管理器(EntityManager工厂EntityManager工厂){
JpaTransactionManager transactionManager=新的JpaTransactionManager();
transactionManager.setEntityManagerFactory(entityManagerFactory);
返回事务管理器;
}
@豆子
公共持久性ExceptionTranslationPostProcessor exceptionTranslation(){
返回新的PersistenceExceptionTranslationPostProcessor();
}
}
package com.heatmanofurioso.gigger.service.persistencehibernateimplementation.dao;
导入com.heatmanofurioso.gigger.service.persistencehibernateimplementation.entity.VenueEntity;
导入org.springframework.data.jpa.repository.JpaRepository;
导入org.springframework.data.jpa.repository.Query;
导入org.springframework.stereotype.Repository;
导入java.util.List;
@存储库
公共接口VenueHibernateServiceImpl扩展了JpaRepository{
@查询(“从VenueT实体中选择t,其中t.name类似于?1”)
列表getByName(字符串名称);
@查询(“从VenueEntity t中选择t,其中t.coordinates=?1”)
列出getByCoordinates(字符串坐标);
}
package com.heatmanofurioso.gigger.service.persistencehibernateimplementation.dao;
导入com.heatmanofurioso.gigger.service.persistencehibernateimplementation.entity.ConcertEntity;
导入org.springframework.data.jpa.repository.JpaRepository;
导入org.springframework.data.jpa.repository.Query;
导入org.springframework.stereotype.Repository;
导入java.util.List;
@存储库
公共接口HibernateServiceImpl扩展了JpaRepository{
@查询(“从实体t中选择t,其中t.name类似于?1”)
列表getByName(字符串名称);
}
我正在使用Java 11 Spring JPA 5.2.0.RELEASE和Hibernate 5.4.8成功地获得以下实体,这些实体部署在Wildfly 18.0.0.Final上

package com.heatmanofurioso.gigger.service.persistencehibernateimplementation.entity;
导入org.hibernate.annotations.Where;
导入javax.persistence.Column;
导入javax.persistence.Entity;
导入java
@Where(clause = "date < (select * from current_date())")
@Where(clause = "date < (select current_date())")