我目前正在使用Spring数据(和引导)构建REST API。我有一个来自H2数据库的sql Dumb,该数据库由hibernate访问。
我的申请。yaml:
spring:
profiles: "dev"
datasource:
data: classpath:/data_api.sql
jpa:
hibernate:
naming:
physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
ddl-auto: create-drop
sql查询如下:
Insert into TABLE (name, number, date) values ("James", 123, to_date('28-JUL-17','DD-MON-RR'))
我nformation.java看起来像:
@Entity
@Table(name="TABLE")
@Data
public class Information {
@Column(name="name")
String name;
@Column(name="number")
Integer number;
@Column(name="date")
String date;
当我尝试运行该API时,出现以下异常:在此处输入图像描述
原因:org.h2.jdbc.JdbcSQLException:函数"TO_DATE":无效的日期格式:"尝试解析'[Jul, Feb, Apr, Jun, Aug, Mai, Nov, Jan, Dez, Okt, Mñr, Sep]'之一但失败(可能是内部错误?)。详细信息:TO_DATE('16-MAR-17','DD-MON-RR') ^ , ^
我的猜测是hibernate采用了一些用德语配置月份的语言环境-有人知道如何更改吗?另一种方法是告诉hibernate--
编辑:将导入查询中的Monthname更改为德语时--
如果其他人遇到这个问题-我想到了。Hibernate读取Locate设置。因此,在主应用程序中使用一个简单的代码行即可完成:
Locale.setDefault(new Locale("en", "US"));
问题内容: 我需要从Hibernate查询中获取字符串,并稍后进行处理(因此无法使用来解决)。 我已经看过如何从HibernateCriteriaAPI(并非用于记录日志)中获取SQL,但是有了这种解决方法,我得到了SQL查询字符串,但是没有显示它显示’?’的参数值,有没有办法获得带有参数值的完整SQL字符串? 我的意思是,有了这种解决方案,我可以得到,但我需要得到… 有想法吗? 问题答案: 有一
我在SO和其他地方发现了许多类似的问题,比如这个,这个和这个,举几个例子。我试图跟踪它们,但无法在控制台上打印查询。一个问题是项目中有超过15个文件。我已经用相关的属性更新了所有这些,但到目前为止没有用。我是Hibernate的新手,对Liferay框架一无所知。如何在OpenUnderwriter中启用SQL调试? 编辑:通过从bitbucket存储库克隆openunderwriter,并按照安
诸葛io提供了SQL查询的功能,以方便企业中的数据分析师和有需求的高级用户使用SQL表达式查询和分析用户行为数据。 在SQL查询平台您可以撰写SQL语句,并执行查看查询结果以及对查询结果进行可视化分析。 如果您需要将查询结果进行的处理,或和其他数据(如业务数据库中的数据)进行整合,以便产出进一步的分析结果或报告;诸葛io的SQL查询提供了查询结果的下载功能,在查询结果列表的切换图表功能栏,点击“下
问题内容: 我正在尝试创建一个查询,该查询仅从所选日期获得年份。即返回,但我只想。我怎样才能只得到一年?我知道可以使用该功能,但不确定如何使用。 问题答案: 编辑:由于后标记’oracle’,前两个查询变得无关紧要,剩下第三个查询为oracle。 对于MySQL: 编辑:无论如何,如果您的日期是一个字符串,让我们将其转换为正确的日期格式。并从中选择年份。 由于您正在尝试使用Toad,因此可以检查以
问题内容: 我正在管理事件数据库。每个事件都有开始和结束时间戳记()。 目前,我可以通过一个SQL查询执行以下操作: 建立日历,并记下发生事件的日期 列出给定日期(YYYY / MM / DD,YYYY / MM)中发生的事件 问题是当一个事件跨越几天时,我无法在它的开始和结束时间戳之间的日期列出它。 例如: 活动开始于2011/05/25和结束于2011/05/27,但我无法在页面2011/05
我对Oracle SQL中的以下查询有疑问: 当我运行它时,结果如下所示:2015年11月10日。根据我在Oracle文档中读到的内容,YYYY应该转换为4位数的年份,但它转换为2位数的年份。为什么会这样?