我遇到了hibernate的问题.我最近将我的hbm2ddl设置为validate,并且它一直在抱怨错误的数据类型.除了布尔语,我已解决了所有问题.
opener我的班级中有一个字段,映射为:
<property column="opener" name="opener" type="boolean"/>
Run Code Online (Sandbox Code Playgroud)
列opener是a tinyint (4)并且值为1或0.到目前为止,我已尝试更改类型,但无济于事.我也尝试在hibernate.cfg中使用以下设置:
<property name="hibernate.query.substitutions">true 1, false 0</property>
Run Code Online (Sandbox Code Playgroud)
但我仍然得到同样的错误.我究竟做错了什么?
org.hibernate.HibernateException: Wrong column type: opener, expected: bit
at org.hibernate.mapping.Table.validateColumns(Table.java:261)
at org.hibernate.cfg.Configuration.validateSchema(Configuration.java:1083)
at org.hibernate.tool.hbm2ddl.SchemaValidator.validate(SchemaValidator.java:116)
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:317)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1294)
at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859)
Run Code Online (Sandbox Code Playgroud)
注意:我无法访问数据库.
我面临一个问题,我想安排一个特定的Java应用程序运行每x天,或每x分钟.我真的想要一个平台独立的解决方案,但我已经放弃了希望找到一个很好的解决方案.
为了实现调度,我已经经历了几个解决方案,一个是服务,一个是使用windows api.我真的不喜欢使用服务,它在我的项目中没有很好的部署.我将不得不使用一些脚本来安装服务,这对我来说似乎不是正确的解决方案.
我也经历过windows的调度服务.他们似乎完美的工作.但我在解析命令行时遇到问题.我希望能够在安装后修改我的任务.但是当我查询命令行工具时,输出语言可能会有所不同(语言环境).
也许有一个解决方案,每个操作系统实现不同的状态?