Java mac上的Spring数据。包含非拉丁字符参数的SQL查询返回null
我有一个带有spring数据的spring项目。我尝试使用包含西里尔字母的参数选择我的app_pages表Java mac上的Spring数据。包含非拉丁字符参数的SQL查询返回null,java,mysql,spring,macos,hibernate,Java,Mysql,Spring,Macos,Hibernate,我有一个带有spring数据的spring项目。我尝试使用包含西里尔字母的参数选择我的app_pages表 long pageId=appPagesRepository.findByPageEntry(“ачаааааааааааааа 在mac os上,此查询始终返回null long pageId=appPagesRepository.findByPageTitle(“启动帮助屏幕”) 此查询始终正常工作 数据源: @Bean public DataSource dataSource() {
long pageId=appPagesRepository.findByPageEntry(“ачаааааааааааааа代码>
在mac os上,此查询始终返回null
long pageId=appPagesRepository.findByPageTitle(“启动帮助屏幕”)代码>
此查询始终正常工作
数据源:
@Bean
public DataSource dataSource() {
HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setDriverClassName(env.getProperty("sbt.db.driver.classname"));
hikariConfig.setJdbcUrl(env.getProperty("sbt.db.jdbc.url"));
hikariConfig.setUsername(env.getProperty("sbt.db.username"));
hikariConfig.setPassword(env.getProperty("sbt.db.password"));
hikariConfig.addDataSourceProperty("dataSource.useUnicode", "true");
hikariConfig.addDataSourceProperty("dataSource.characterEncoding", "utf-8");
hikariConfig.addDataSourceProperty("dataSource.cachePrepStmts", "true");
hikariConfig.addDataSourceProperty("dataSource.prepStmtCacheSize", "250");
hikariConfig.addDataSourceProperty("dataSource.prepStmtCacheSqlLimit", "2048");
hikariConfig.addDataSourceProperty("dataSource.useServerPrepStmts", "true");
return new HikariDataSource(hikariConfig);
}
实体:
@Table(name="app_pages", uniqueConstraints={@UniqueConstraint(columnNames={"id", "page_entry"})})
public class AppPagesEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", nullable = false, unique = true, length = 11)
private long id;
@Column(name = "page_title", length = 60, nullable = false, unique = true)
private String pageTitle;
@Column(name = "page_entry", length = 60, nullable = false)
private String pageEntry;
@Lob
@Column(name = "uix")
private byte[] uix;
@Lob
@Column(name = "image")
private byte[] pageImage;
@Column(name = "description", length = 500, nullable = false)
private String description;
这是我在Hibernate日志中看到的全部内容:
11:31:31.224[main]DEBUG org.hibernate.SQL-选择apppagesen0.id作为id1_5_,apppagesen0.description作为descrippt2_5_,apppagesen0.page_条目作为page_ent3_5_,apppagesen0.image作为image4_5_,apppagesen0.page_标题作为page_tit5_5_5_,apppagesen0.uix作为uix6_5_从mp(sbbol)PageSen0=AppPage0?
11:31:31.229[main]TRACE org.hibernate.type.descriptor.sql.BasicBinder-绑定参数[1]为[VARCHAR]-[hyаааааааааааааа
数据库和表是用UTF-8编码的。您能发布结果吗
long pageId = appPagesRepository.findByPageTitle("START_HELP_SCREEN");
在Hibernate日志中
也许你拼错了[khааааааааааааааааа